##### SUMMARY
In check mode, when using the file module to create a directory, if the directory already exists but the requested owner or group do not, the module will fail. I encountered this when running a playbook in check mode that creates a new user and changes the ownership of an existing directory.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
file

##### ANSIBLE VERSION
```
ansible 2.9.3
  config file = /home/nepeta/wip/lockss-playbook/ansible.cfg
  configured module search path = ['/home/nepeta/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 3.7.6 (default, Jan 30 2020, 09:44:41) [GCC 9.2.1 20190827 (Red Hat 9.2.1-1)]
```

##### CONFIGURATION
```
```

##### OS / ENVIRONMENT
Fedora 31 host

##### STEPS TO REPRODUCE
Run the following playbook in check mode (`ansible-playbook demo.playbook.yml -C`):

```yaml
# demo.playbook.yml---

- hosts: localhost
  tasks:
    - name: Create user.
      user:
        name: notauser
        state: present

    - name: Task succeeds in check mode.
      file:
        path: /notadirectory
        state: directory
        owner: notauser

    - name: Task fails in check mode.
      file:
        path: /usr
        state: directory
        owner: notauser
```

##### EXPECTED RESULTS
I expect the module to skip the lookup of the user or group if it doesn't exist and to report the task as changed.

##### ACTUAL RESULTS
```
TASK [Create user.] ***********************************************************************************************************************
changed: [localhost]

TASK [Task succeeds in check mode.] *******************************************************************************************************
changed: [localhost]

TASK [Task fails in check mode.] **********************************************************************************************************
fatal: [localhost]: FAILED! => changed=false 
  gid: 0
  group: root
  mode: '0755'
  msg: 'chown failed: failed to look up user notauser'
  owner: root
  path: /usr
  secontext: system_u:object_r:usr_t:s0
  size: 4096
  state: directory
  uid: 0
```
global module
    module = AnsibleModule(
        argument_spec=dict(
            state=dict(type='str', choices=['absent', 'directory', 'file', 'hard', 'link', 'touch']),
            path=dict(type='path', required=True, aliases=['dest', 'name']),
            _original_basename=dict(type='str'),  
            recurse=dict(type='bool', default=False),
            force=dict(type='bool', default=False),  
            follow=dict(type='bool', default=True),  
            _diff_peek=dict(type='bool'),  
            src=dict(type='path'),  
            modification_time=dict(type='str'),
            modification_time_format=dict(type='str', default='%Y%m%d%H%M.%S'),
            access_time=dict(type='str'),
            access_time_format=dict(type='str', default='%Y%m%d%H%M.%S'),
        ),
        add_file_common_args=True,
        supports_check_mode=True,
    )
    
    sys.excepthook = _ansible_excepthook
    additional_parameter_handling(module.params)
    params = module.params
    state = params['state']