<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
`ansible-doc --list` crashes on https://github.com/ansible/ansible/blob/d18901dd4a11180d0204a43e4ccedc928293299f/lib/ansible/collections/list.py#L70 when the collection name contains more than one `.`, e.g. if someone passes the FQCN of a module.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
ansible-doc

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.11.0.dev0 (devel d18901dd4a) last updated 2020/10/19 23:49:18 (GMT +000)
  config file = None
  configured module search path = [u'/home/zeke/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /home/zeke/git/ansible/lib/ansible
  ansible collection location = /home/zeke/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/zeke/git/ansible/bin/ansible
  python version = 2.7.5 (default, Jul 13 2018, 13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
  libyaml = True
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below

```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
```
mkdir -p ~/.ansible/collections/ansible_collections    # This bug won't trigger unless at least one configured collection directory exists
ansible-doc -vvv --list foo.bar.baz
```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
```
[WARNING]: No plugins found.
```
(or a more specific warning about the invalid collection name.)

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

<!--- Paste verbatim command output between quotes -->
```paste below
ERROR! Unexpected Exception, this is probably a bug: too many values to unpack
the full traceback was:

Traceback (most recent call last):
  File "/home/zeke/git/ansible/bin/ansible-doc", line 125, in <module>
    exit_code = cli.run()
  File "/home/zeke/git/ansible/lib/ansible/cli/doc.py", line 215, in run
    add_collection_plugins(self.plugin_list, plugin_type, coll_filter=coll_filter)
  File "/home/zeke/git/ansible/lib/ansible/cli/doc.py", line 55, in add_collection_plugins
    for b_path in b_colldirs:
  File "/home/zeke/git/ansible/lib/ansible/collections/list.py", line 70, in list_collection_dirs
    (nsp, coll) = coll_filter.split('.')
ValueError: too many values to unpack
```

"""
    Filter out non existing or invalid search_paths for collections
    :param search_paths: list of text-string paths, if none load default config
    :param warn: display warning if search_path does not exist
    :return: subset of original list
    """
    if search_paths is None:
        search_paths = []
    search_paths.extend(AnsibleCollectionConfig.collection_paths)
    for path in search_paths:
        b_path = to_bytes(path)
        if not os.path.exists(b_path):
            
            if warn:
                display.warning("The configured collection path {0} does not exist.".format(path))
            continue
        if not os.path.isdir(b_path):
            if warn:
                display.warning("The configured collection path {0}, exists, but it is not a directory.".format(path))
            continue
        yield path
def list_collection_dirs(search_paths=None, coll_filter=None):
    """
    Return paths for the specific collections found in passed or configured search paths
    :param search_paths: list of text-string paths, if none load default config
    :param coll_filter: limit collections to just the specific namespace or collection, if None all are returned
    :return: list of collection directory paths
    """
    collections = defaultdict(dict)