##### SUMMARY
The collection loader currently imports a number of things from Ansible, the heaviest of which is config/constants. This makes it heavyweight and somewhat dangerous for ansible-test and unit tests to use. Refactor it to minimize those imports and supply the necessary impls another way (constructor, DI pattern, etc).

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
AnsibleCollectionLoader

##### ADDITIONAL INFORMATION

''' Find a plugin named name '''
        global _PLUGIN_FILTERS
        if name in _PLUGIN_FILTERS[self.package]:
            return None
        if mod_type:
            suffix = mod_type
        elif self.class_name:
            
            suffix = '.py'
        else:
            
            
            suffix = ''
        
        if (is_collection_ref(name) or collection_list) and not name.startswith('Ansible'):
            if '.' in name or not collection_list:
                candidates = [name]
            else:
                candidates = ['{0}.{1}'.format(c, name) for c in collection_list]
            
            errors = []