##### SUMMARY
A warning message about invalid path seems to be incorrectly emitted when giving `~` (user directory) in the `--playbook-dir` option

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
lib/ansible/cli/inventory.py

##### ANSIBLE VERSION
```paste below
$ ansible --version
ansible 2.10.0.dev0
  config file = /Users/alancoding/Documents/repos/ansible/ansible.cfg
  configured module search path = ['/Users/alancoding/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/alancoding/Documents/repos/ansible/lib/ansible
  executable location = /Users/alancoding/.virtualenvs/ansible3/bin/ansible
  python version = 3.6.5 (default, Apr 25 2018, 14:23:58) [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]
```

##### CONFIGURATION
Defaults

##### OS / ENVIRONMENT
Mac OS


##### STEPS TO REPRODUCE
In my case:

```
ansible-inventory -i ~/Documents/repos/jlaska-ansible-playbooks/inventories/inventory.ini --list --export --playbook-dir=~/Documents/repos/jlaska-ansible-playbooks/inventories | grep -r "group_one_host_01_should_have_this_var"
```

I don't believe that the specific inventory has anything to do with the error, the directory `~/Documents/repos/jlaska-ansible-playbooks/inventories` is obviously valid.

##### EXPECTED RESULTS
If I run it without `~`, it gives no output to stderr

```
ansible-inventory -i ~/Documents/repos/jlaska-ansible-playbooks/inventories/inventory.ini --list --export --playbook-dir=/Users/alancoding/Documents/repos/jlaska-ansible-playbooks/inventories > /dev/null 
```

So I expect that even when I use `~`


##### ACTUAL RESULTS

```paste below
ansible-inventory -i ~/Documents/repos/jlaska-ansible-playbooks/inventories/inventory.ini --list --export --playbook-dir=~/Documents/repos/jlaska-ansible-playbooks/inventories > /dev/null 
[WARNING]: Ignoring invalid path provided to plugin path: '~/Documents/repos/jlaska-ansible-playbooks/inventories' is not a directory
```

Note that I believe that the playbook directory correctly takes effect here, so it may just be that the warning is in error.

The help text does not give any indication that this should not be allowed.

found when looking at https://github.com/ansible/ansible/pull/65073
if '.' in name:
            return super(Jinja2Loader, self).get(name, *args, **kwargs)
        raise AnsibleError('No code should call find_plugin for Jinja2Loaders (Not implemented)')
    def all(self, *args, **kwargs):
        """
        Differences with :meth:`PluginLoader.all`:
        * We do not deduplicate ansible plugin names.  This is because we don't care about our
          plugin names, here.  We care about the names of the actual jinja2 plugins which are inside
          of our plugins.
        * We reverse the order of the list of plugins compared to other PluginLoaders.  This is
          because of how calling code chooses to sync the plugins from the list.  It adds all the
          Jinja2 plugins from one of our Ansible plugins into a dict.  Then it adds the Jinja2
          plugins from the next Ansible plugin, overwriting any Jinja2 plugins that had the same
          name.  This is an encapsulation violation (the PluginLoader should not know about what
          calling code does with the data) but we're pushing the common code here.  We'll fix
          this in the future by moving more of the common code into this PluginLoader.
        * We return a list.  We could iterate the list instead but that's extra work for no gain because
          the API receiving this doesn't care.  It just needs an iterable
        """
        
        
        kwargs['_dedupe'] = False
        
        
        plugins = list(super(Jinja2Loader, self).all(*args, **kwargs))
        plugins.reverse()
        return plugins
def _load_plugin_filter():