##### SUMMARY
If a module sets `add_file_common_args=True` when calling `AnsibleModule`, all elements from [FILE_COMMON_ARGUMENTS](https://github.com/ansible/ansible/blob/e9d29b1fe4285d90d7a4506b80260a9e24c3bcea/lib/ansible/module_utils/basic.py#L229-L257) are included in the argument spec. The [files document fragment](https://github.com/ansible/ansible/blob/e9d29b1fe4285d90d7a4506b80260a9e24c3bcea/lib/ansible/plugins/doc_fragments/files.py#L15-L80) only documents a subset of them, though. Missing are:
 - src
 - follow
 - force
 - content
 - backup
 - remote_src
 - regexp
 - delimiter
 - directory_mode

Most module authors using `add_file_common_args=True` are probably not aware that their modules have these options as well.

I don't think these extra options should be added by default if `add_file_common_args=True` is specified.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
lib/ansible/module_utils/basic.py

##### ANSIBLE VERSION
```
devel
```

''' Convert data into a list of key-value tuples '''
    if data is None:
        return None
    if isinstance(data, Sequence):
        return list(data)
    if isinstance(data, Mapping):
        return list(data.items())
    raise TypeError('cannot form-urlencode body, expect list or dict')
def form_urlencoded(body):
    ''' Convert data into a form-urlencoded string '''
    if isinstance(body, string_types):
        return body
    if isinstance(body, (Mapping, Sequence)):
        result = []
        
        for key, values in kv_list(body):
            if isinstance(values, string_types) or not isinstance(values, (Mapping, Sequence)):
                values = [values]
            for value in values:
                if value is not None:
                    result.append((to_text(key), to_text(value)))
        return urlencode(result, doseq=True)
    return body
def uri(module, url, dest, body, body_format, method, headers, socket_timeout):