### Summary

Running `ansible-doc -l` generates 430 deprecation warnings on stderr before printing anything to stdout.
```
[DEPRECATION WARNING]: amazon.aws.aws_az_facts has been deprecated.
aws_az_facts was renamed in Ansible 2.9 to aws_az_info. Please update your
tasks. This feature will be removed from amazon.aws in a release after
2022-06-01. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.

[DEPRECATION WARNING]: amazon.aws.aws_caller_facts has been deprecated.
aws_caller_facts was renamed in Ansible 2.9 to aws_caller_info. Please update
your tasks. This feature will be removed from amazon.aws in a release after
2021-12-01. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
...
```

### Issue Type

Bug Report

### Component Name

ansible-doc

### Ansible Version

```console
$ ansible-doc --version

ansible-doc 2.10.6
  config file = None
  configured module search path = [u'/home/charleshowes/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
  executable location = /usr/local/bin/ansible-doc
  python version = 2.7.17 (default, Sep 30 2020, 13:38:04) [GCC 7.5.0]
```


### Configuration

```console
$ ansible-config dump --only-changed
(no output)
```


### OS / Environment

Ubuntu 18.04

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```shell (paste below)
ansible-doc -l
```


### Expected Results

I expected to see a list of available plugins, and was shocked to have pages and pages of warnings.

### Actual Results

```console
$ ansible-doc -l 2>&1 | head

[DEPRECATION WARNING]: amazon.aws.aws_az_facts has been deprecated. 
aws_az_facts was renamed in Ansible 2.9 to aws_az_info. Please update your 
tasks. This feature will be removed from amazon.aws in a release after 
2022-06-01. Deprecation warnings can be disabled by setting 
deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: amazon.aws.aws_caller_facts has been deprecated. 
aws_caller_facts was renamed in Ansible 2.9 to aws_caller_info. Please update 
your tasks. This feature will be removed from amazon.aws in a release after 
2021-12-01. Deprecation warnings can be disabled by setting 
deprecation_warnings=False in ansible.cfg.

$ ansible-doc -l 2>&1 | grep -c 'DEPRECATION WARNING'

430
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
from ansible.utils.display import Display
from ansible.utils.plugin_docs import add_fragments
from ansible import __version__ as ansible_version
try:
    from packaging.specifiers import SpecifierSet
    from packaging.version import Version
except ImportError:
    SpecifierSet = None
    Version = None
try:
    import importlib.util
    imp = None
except ImportError:
    import imp
display = Display()
get_with_context_result = namedtuple('get_with_context_result', ['object', 'plugin_load_context'])
def get_all_plugin_loaders():
    return [(name, obj) for (name, obj) in globals().items() if isinstance(obj, PluginLoader)]
def add_all_plugin_dirs(path):
    ''' add any existing plugin dirs in the path provided '''
    b_path = os.path.expanduser(to_bytes(path, errors='surrogate_or_strict'))
    if os.path.isdir(b_path):
        for name, obj in get_all_plugin_loaders():
            if obj.subdir:
                plugin_path = os.path.join(b_path, to_bytes(obj.subdir))
                if os.path.isdir(plugin_path):
                    obj.add_directory(to_text(plugin_path))
    else:
        display.warning("Ignoring invalid path provided to plugin path: '%s' is not a directory" % to_text(path))
def get_shell_plugin(shell_type=None, executable=None):