##### SUMMARY

When checking Ansible modules, the import sanity test should check modules twice, once with `__name__` set to `'__main__'` and once without, so that modules can be checked up to the point that `AnsibleModule` is instantiated.

This works correctly for Ansible 2.8 and earlier, but in Ansible 2.9 the checking with `__name__` set to  `'__main__'` no longer occurs.

##### ISSUE TYPE

Bug Report

##### COMPONENT NAME

ansible-test

##### ANSIBLE VERSION

2.9.0rc1

##### CONFIGURATION

N/A

##### OS / ENVIRONMENT

N/A

##### STEPS TO REPRODUCE

```
ansible-test coverage erase
ansible-test sanity --test import ping --docker -v --coverage --python 3.7
ansible-test coverage html
```

Look at the coverage results for the `ping` module and notice that under Ansible 2.8 and earlier the `__name__ == '__main__'` branch is covered, but under Ansible 2.9 it is not.

##### EXPECTED RESULTS

Ansible modules are checked with `__name__` set to `'__main__'` and not.

##### ACTUAL RESULTS

Ansible modules are checked only with `__name__` not set to `'__main__'`.

import warnings
    import_dir = os.environ['SANITY_IMPORT_DIR']
    minimal_dir = os.environ['SANITY_MINIMAL_DIR']
    try:
        import importlib.util
        imp = None  
    except ImportError:
        importlib = None  
        import imp
    try:
        
        from StringIO import StringIO
    except ImportError:
        from io import StringIO
    import ansible.module_utils.basic
    import ansible.module_utils.common.removed
    try:
        from ansible.utils.collection_loader import AnsibleCollectionLoader
    except ImportError:
        
        AnsibleCollectionLoader = None
    
    doc_keys = ('ANSIBLE_METADATA',
                'DOCUMENTATION',
                'EXAMPLES',
                'RETURN',
                'absolute_import',
                'division',
                'print_function')
    class ImporterAnsibleModuleException(Exception):