##### 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 name.startswith('ansible_collections.'):
            full_name = name
        else:
            full_name = '.'.join([self.package, name])
        if full_name in sys.modules:
            
            return sys.modules[full_name]
        with warnings.catch_warnings():
            warnings.simplefilter("ignore", RuntimeWarning)
            if imp is None:
                spec = importlib.util.spec_from_file_location(to_native(full_name), to_native(path))
                module = importlib.util.module_from_spec(spec)
                spec.loader.exec_module(module)
                sys.modules[full_name] = module
            else:
                with open(to_bytes(path), 'rb') as module_file:
                    
                    module = imp.load_source(to_native(full_name), to_native(path), module_file)
        return module
    def _update_object(self, obj, name, path, redirected_names=None):
        
        setattr(obj, '_original_path', path)
        setattr(obj, '_load_name', name)
        setattr(obj, '_redirected_names', redirected_names or [])
    def get(self, name, *args, **kwargs):
        return self.get_with_context(name, *args, **kwargs).object
    def get_with_context(self, name, *args, **kwargs):