<!--- 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 -->

A role provided via collection that includes a call to setup: gather_subset fails because the windows powershell version of setup is picked.

##### 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 plugin loader

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```
ansible 2.9.1
  config file = None
  configured module search path = ['/home/aschultz/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/aschultz/.virtualenvs/ansible/lib/python3.6/site-packages/ansible
  executable location = /home/aschultz/.virtualenvs/ansible/bin/ansible
  python version = 3.6.8 (default, Oct  8 2019, 16:29:04) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)]
```

Also tested
```
ansible 2.10.0.dev0
  config file = None
  configured module search path = ['/home/aschultz/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/aschultz/.virtualenvs/ansible-devel/lib/python3.6/site-packages/ansible-2.10.0.dev0-py3.6.egg/ansible
  executable location = /home/aschultz/.virtualenvs/ansible-devel/bin/ansible
  python version = 3.6.8 (default, Oct  8 2019, 16:29:04) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)]
```

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

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

On a fedora31 host running under python 3.6.8 in a virtual environment against a CentOS7 host or against the localhost


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
I have provided a sample collection that reproduces the problem:

https://github.com/mwhahaha/ansible-collection-failure

On a linux host do:

```
git clone https://github.com/mwhahaha/ansible-collection-failure
cd ansible-collection-failure
ansible-galaxy collection build failure
ansible-galaxy collection install mwhahaha-failure-1.0.0.tar.gz
ansible-playbook sigh.yml
```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->

setup gather_subset should complete successfully. 

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

Ansible attempts to use the powershell setup module on a linux system.
<!--- Paste verbatim command output between quotes -->
```
$ ansible-playbook sigh.yml 
[WARNING]: No inventory was parsed, only implicit localhost is available

[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'


PLAY [localhost] *********************************************************************************************************************************************************************

TASK [orly] **************************************************************************************************************************************************************************

TASK [sadness : Gather facts for sadness] ********************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "/bin/sh: powershell: command not found\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 127}

PLAY RECAP ***************************************************************************************************************************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0 
```

'',
    'ansible.modules',
    C.DEFAULT_MODULE_PATH,
    'library',
)
module_utils_loader = PluginLoader(
    '',
    'ansible.module_utils',
    C.DEFAULT_MODULE_UTILS_PATH,
    'module_utils',
)
ps_module_utils_loader = PluginLoader(
    '',
    'ansible.module_utils',
    C.DEFAULT_MODULE_UTILS_PATH,
    'module_utils',
)
lookup_loader = PluginLoader(
    'LookupModule',
    'ansible.plugins.lookup',
    C.DEFAULT_LOOKUP_PLUGIN_PATH,
    'lookup_plugins',
    required_base_class='LookupBase',
)
filter_loader = Jinja2Loader(
    'FilterModule',
    'ansible.plugins.filter',
    C.DEFAULT_FILTER_PLUGIN_PATH,
    'filter_plugins',
)