##### 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
```

return self._available_variables
    @available_variables.setter
    def available_variables(self, variables):
        '''
        Sets the list of template variables this Templar instance will use
        to template things, so we don't have to pass them around between
        internal methods. We also clear the template cache here, as the variables
        are being changed.
        '''
        if not isinstance(variables, Mapping):
            raise AnsibleAssertionError("the type of 'variables' should be a Mapping but was a %s" % (type(variables)))
        self._available_variables = variables
        self._cached_result = {}
    def set_available_variables(self, variables):
        display.deprecated(
            'set_available_variables is being deprecated. Use "@available_variables.setter" instead.',
            version='2.13'
        )
        self.available_variables = variables
    @contextmanager
    def set_temporary_context(self, **kwargs):