##### 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
self.pending_redirect = None
        self.plugin_resolved_name = resolved_name
        self.plugin_resolved_path = resolved_path
        self.exit_reason = exit_reason
        self.resolved = True
        return self
    def redirect(self, redirect_name):
        self.pending_redirect = redirect_name
        self.exit_reason = 'pending redirect resolution from {0} to {1}'.format(self.original_name, redirect_name)
        self.resolved = False
        return self
    def nope(self, exit_reason):
        self.pending_redirect = None
        self.exit_reason = exit_reason
        self.resolved = False
        return self
class PluginLoader:
    '''
    PluginLoader loads plugins from the configured plugin directories.
    It searches for plugins by iterating through the combined list of play basedirs, configured
    paths, and the python path.  The first match is used.
    '''
    def __init__(self, class_name, package, config, subdir, aliases=None, required_base_class=None):