Imports the module located at the given filepath.
        
        :param      filepath    | <str>
                    ignore      | [<str>, ..] || None
        
        :return     <module> || None

def fileImport(filepath, ignore=None):
        """
        Imports the module located at the given filepath.
        
        :param      filepath    | <str>
                    ignore      | [<str>, ..] || None
        
        :return     <module> || None
        """
        basepath, package = EnvManager.packageSplit(filepath)
        if not (basepath and package):
            return None

        # make sure this is not part of the ignored package list
        if ignore and package in ignore:
            return None

        basepath = os.path.normcase(basepath)
        if basepath not in sys.path:
            sys.path.insert(0, basepath)

        logger.debug('Importing: %s' % package)

        try:
            __import__(package)
            module = sys.modules[package]
        except ImportError:
            logger.exception('ImportError: %s' % package)
            return None
        except KeyError:
            logger.exception('Could not find sys.modules package: %s' % package)
            return None
        except StandardError:
            logger.exception('Unknown error occurred not import %s' % package)
            return None

        return module