##### SUMMARY

When using `find` with empty `excludes` list, it excludes **everything**, yet if you remove that empty `excludes` entirely, the `find` behaves correctly (nothing is excluded).

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
find

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
$ ansible --version
ansible 2.9.9
  config file = None
  configured module search path = [u'/home/jmazzite/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /home/jmazzite/source/ansible/lib/ansible
  executable location = /home/jmazzite/source/ansible/bin/ansible
  python version = 2.7.5 (default, Jun 11 2019, 14:33:56) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below

```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
RHEL 7.7

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
Run `find` task with `excludes: [ ]` and see that the results come back empty - everything is excluded. But if you remove that `excludes: [ ]` then find results come back correctly.

<!--- Paste example playbooks or commands between quotes below -->
```yaml
- hosts: localhost
  connection: local
  tasks:
  - find:
      paths: "/etc"
      patterns: ['hosts', 'passwd']
      excludes: []
    register: test
  - debug:
      msg: "number of files found-->{{ test.files | length }}"
  - debug:
      msg: "found-->{{ item.path }}"
    loop: "{{ test.files }}"
```

Run that playbook via `ansible-playbook playbook.yaml` and see the results of find is empty - 0 files are returned:

```
TASK [debug] *****************************************************************************************************************************
ok: [localhost] => {
    "msg": "number of files found-->0"
}
```

Now edit that playbook and completely delete the `excludes: [ ]` line and re-run it. Now see it returns the correct two files:

```
TASK [debug] *****************************************************************************************************************************
ok: [localhost] => {
    "msg": "number of files found-->2"
}

TASK [debug] *****************************************************************************************************************************
ok: [localhost] => (item=...chomp...) => {
    "msg": "found-->/etc/hosts"
}
ok: [localhost] => (item=...chomp...) => {
    "msg": "found-->/etc/passwd"
}

```

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

##### EXPECTED RESULTS

I expect an empty `excludes` list to behave identically as when `excludes` list is completely not specified. An empty excludes list should mean, "I do not want to exclude anything".

##### ACTUAL RESULTS
All files are excluded if I specify an empty list in `excludes` but this is wrong - that should definitely not mean "I want to exclude EVERYTHING".

'''filter using glob patterns'''
    if patterns is None and excludes is None:
        return True
    if use_regex:
        if patterns and excludes is None:
            for p in patterns:
                r = re.compile(p)
                if r.match(f):
                    return True
        elif patterns and excludes:
            for p in patterns: