##### SUMMARY
2.9/devel currently supports relative Python imports inside a collection for all but modules/module_utils. Extend the AnsiballZ analysis/bundling to support relative imports for those as well.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
module_common.py

##### ADDITIONAL INFORMATION
This is needed to minimize the number of places a collection must refer to itself by name. Also a convenience for shorter intra-collection Python imports (eg `from ..module_utils.blah import AThing` vs. `from ansible_collections.myns.mycoll.plugins.module_utils.blah import AThing`)
for candidate_name in candidates:
                try:
                    
                    if candidate_name.startswith('ansible.legacy'):
                        
                        p = self._find_plugin_legacy(name.replace('ansible.legacy.', '', 1), ignore_deprecated, check_aliases, suffix)
                    else:
                        p = self._find_fq_plugin(candidate_name, suffix)
                    if p:
                        return p
                except Exception as ex:
                    errors.append(to_native(ex))
            if errors:
                display.debug(msg='plugin lookup for {0} failed; errors: {1}'.format(name, '; '.join(errors)))
            return None
        
        return self._find_plugin_legacy(name, ignore_deprecated, check_aliases, suffix)
    def _find_plugin_legacy(self, name, ignore_deprecated=False, check_aliases=False, suffix=None):
        if check_aliases:
            name = self.aliases.get(name, name)
        
        
        pull_cache = self._plugin_path_cache[suffix]
        try:
            return pull_cache[name]
        except KeyError:
            
            pass