<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
Using the file module to set the owner of a file to a numeric username is wrongly interpreted as setting the uid of a file.

##### ISSUE TYPE
- Documentation Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
This affects the file module's 'owner' attribute/functionality and probably the 'group' functionality as well. 

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.2
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/alyjak/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/alyjak/.local/lib/python3.7/site-packages/ansible
  executable location = /home/alyjak/.local/bin/ansible
  python version = 3.7.3 (default, Apr  3 2019, 05:39:12) [GCC 8.3.0]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
DEFAULT_CALLBACK_WHITELIST(/etc/ansible/ansible.cfg) = ['profile_roles']
DEFAULT_HOST_LIST(/etc/ansible/ansible.cfg) = ['/etc/ansible/inventory']
DEFAULT_ROLES_PATH(/etc/ansible/ansible.cfg) = ['/etc/ansible/roles']
DEFAULT_STDOUT_CALLBACK(/etc/ansible/ansible.cfg) = yaml
RETRY_FILES_ENABLED(/etc/ansible/ansible.cfg) = False
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
```
$ uname -a
Linux alyjak-vbox-deb 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
```

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->

Running the following example playbook using the following command is sufficient to reproduce this for me:
`ansible-playbook --ask-become-pass repro.yaml`

where `repro.yaml` looks like the following:

```yaml
- hosts: localhost
 become: yes                                                                                                                                                                                 
  become_user: root                                                                                                                                                                           
  tasks:                                                                                                                                                                                      
    - file:                                                                                                                                                                                   
        path: /tmp/bar.txt                                                                                                                                                                    
        state: touch                                                                                                                                                                          
                                                                                                                                                                                              
    - stat:                                                                                                                                                                                   
        path: /tmp/bar.txt                                                                                                                                                                    
      register: one                                                                                                                                                                           
                                                                                                                                                                                              
    - debug:                                                                                                                                                                                  
        var: one.stat                                                                                                                                                                         
                                                                                                                                                                                              
    - file:                                                                                                                                                                                   
        path: /tmp/bar.txt                                                                                                                                                                    
        owner: "1234"                                                                                                                                                                         
                                                                                                                                                                                              
    - stat:                                                                                                                                                                                   
        path: /tmp/bar.txt                                                                                                                                                                    
      register: two                                                                                                                                                                           
                                                                                                                                                                                              
    - debug:                                                                                                                                                                                  
        var: two.stat                                                                                                                                                                         
        
```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
I would expect this to mirror `chown` functionality, which afaik when given a numeric user will first try a uid lookup with the username (something like `id -u <name>` to see if the provided name is a username or uid before assuming the provided argument is a uid. Better yet, always assume user is a username and provide a different argument to set permissions based on a uid.

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
as can be seen in the example output, the uid is equal to the provided username.
<!--- Paste verbatim command output between quotes -->
```paste below
$ ansible-playbook --ask-become-pass test.yaml 
BECOME password: 
[WARNING]: Unable to parse /etc/ansible/inventory as an inventory source

[WARNING]: No inventory was parsed, only implicit localhost is available

[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'


PLAY [localhost] *****************************************************************************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************************************************************
Thursday 16 January 2020  13:08:02 -0500 (0:00:00.038)       0:00:00.038 ****** 
ok: [localhost]

TASK [file] **********************************************************************************************************************************************************************************
Thursday 16 January 2020  13:08:03 -0500 (0:00:01.238)       0:00:01.276 ****** 
changed: [localhost]

TASK [stat] **********************************************************************************************************************************************************************************
Thursday 16 January 2020  13:08:04 -0500 (0:00:00.596)       0:00:01.873 ****** 
ok: [localhost]

TASK [debug] *********************************************************************************************************************************************************************************
Thursday 16 January 2020  13:08:04 -0500 (0:00:00.573)       0:00:02.446 ****** 
ok: [localhost] => 
  one.stat.uid: '0'

TASK [file] **********************************************************************************************************************************************************************************
Thursday 16 January 2020  13:08:04 -0500 (0:00:00.127)       0:00:02.573 ****** 
changed: [localhost]

TASK [stat] **********************************************************************************************************************************************************************************
Thursday 16 January 2020  13:08:05 -0500 (0:00:00.386)       0:00:02.960 ****** 
ok: [localhost]

TASK [debug] *********************************************************************************************************************************************************************************
Thursday 16 January 2020  13:08:05 -0500 (0:00:00.431)       0:00:03.391 ****** 
ok: [localhost] => 
  two.stat.uid: '1234'

PLAY RECAP ***********************************************************************************************************************************************************************************
localhost                  : ok=7    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Thursday 16 January 2020  13:08:05 -0500 (0:00:00.125)       0:00:03.516 ****** 
=============================================================================== 
gather_facts ------------------------------------------------------------ 1.24s
stat -------------------------------------------------------------------- 1.00s
file -------------------------------------------------------------------- 0.98s
debug ------------------------------------------------------------------- 0.25s
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
total ------------------------------------------------------------------- 3.48s

```

from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
class ModuleDocFragment(object):
    
    
    
    DOCUMENTATION = r'''
options:
  mode:
    description:
    - The permissions the resulting filesystem object should have.
    - For those used to I(/usr/bin/chmod) remember that modes are actually octal numbers.
      You must either add a leading zero so that Ansible's YAML parser knows it is an octal number
      (like C(0644) or C(01777)) or quote it (like C('644') or C('1777')) so Ansible receives
      a string and can do its own conversion from string into number.
    - Giving Ansible a number without following one of these rules will end up with a decimal
      number which will have unexpected results.
    - As of Ansible 1.8, the mode may be specified as a symbolic mode (for example, C(u+rwx) or
      C(u=rw,g=r,o=r)).
    - If C(mode) is not specified and the destination filesystem object B(does not) exist, the default C(umask) on the system will be used
      when setting the mode for the newly created filesystem object.
    - If C(mode) is not specified and the destination filesystem object B(does) exist, the mode of the existing filesystem object will be used.