##### SUMMARY
Custom lookup plugin appears correctly configured using ```ansible-doc -t lookup listFolders```  however always results in ```FAILED! => {"msg": "lookup plugin (listFolders) not found"}``` when used in playbook.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
- Custom lookup plugin

##### ANSIBLE VERSION
```
ansible 2.9.2
  config file = /Users/xxxx/.ansible.cfg
  configured module search path = ['/Users/xxxx/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/2.9.2_1/libexec/lib/python3.8/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.8.1 (default, Dec 27 2019, 18:05:45) [Clang 11.0.0 (clang-1100.0.33.16)]
```

##### CONFIGURATION
```
defaults only
```

##### OS / ENVIRONMENT
- macOS Mojave 10.14.6
- zsh 5.3 (x86_64-apple-darwin18.0)

##### STEPS TO REPRODUCE
Here is a trivial custom lookup plugin that just contains documentation to test my configuration. 
It is placed in /Users/xxxx/.ansible/plugins/lookup/listFolders.py
```
DOCUMENTATION = """
    lookup: listFolders
    short_description: returns list from yaml descriptor
    description:
        - This lookup returns a list from the yaml descriptor
"""
```

This command correctly pics up the lookup plugin:
```ansible-doc -t lookup listFolders```

And shows the output:
```
> LISTFOLDERS    (/Users/xxxx/.ansible/plugins/lookup/listFolders.py)

        This lookup returns a list from the yaml descriptor

  * This module is maintained by The Ansible Community
        METADATA:
          status:
          - preview
          supported_by: community
```

However in a playbook I always hit this error:
```fatal: [localhost]: FAILED! => {"msg": "lookup plugin (listFolders) not found"}```

Here is a sample playbook that produces the error:
```
---
- name: "Test custom lookup plugin"
  hosts: localhost
  tasks:
    - name: lookup listFolders
      debug:
        msg: '{{ lookup("listFolders") }}'

```

##### EXPECTED RESULTS
```
TASK [lookup listFolders] ***************************************************************************************************************************************************************
ok: [localhost]
```


##### ACTUAL RESULTS
```
TASK [lookup listFolders] ***************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "lookup plugin (listFolders) not found"}
```


<!--- Paste verbatim command output between quotes -->
```
> ansible-playbook testplaybook.yml 

[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 [Test custom lookup plugin] ************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************************************************
ok: [localhost]

TASK [lookup listFolders] ***************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "lookup plugin (listFolders) not found"}

PLAY RECAP ******************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0
```

'''
        Wraps a bare string, which may have an attribute portion (ie. foo.bar)
        in jinja2 variable braces so that it is evaluated properly.
        '''
        if isinstance(variable, string_types):
            contains_filters = "|" in variable
            first_part = variable.split("|")[0].split(".")[0].split("[")[0]
            if (contains_filters or first_part in self._available_variables) and self.environment.variable_start_string not in variable:
                return "%s%s%s" % (self.environment.variable_start_string, variable, self.environment.variable_end_string)
        
        
        return variable
    def _finalize(self, thing):
        '''
        A custom finalize method for jinja2, which prevents None from being returned. This
        avoids a string of ``"None"`` as ``None`` has no importance in YAML.
        If using ANSIBLE_JINJA2_NATIVE we bypass this and return the actual value always
        '''
        if USE_JINJA2_NATIVE:
            return thing
        return thing if thing is not None else ''
    def _fail_lookup(self, name, *args, **kwargs):
        raise AnsibleError("The lookup `%s` was found, however lookups were disabled from templating" % name)
    def _now_datetime(self, utc=False, fmt=None):