Given a dotted Python path, imports & returns the module.

    If not found, raises ``UnknownModuleError``.

    Ex::

        mod = import_module('random')

    :param module_name: The dotted Python path
    :type module_name: string

    :returns: module

def import_module(module_name):
    """
    Given a dotted Python path, imports & returns the module.

    If not found, raises ``UnknownModuleError``.

    Ex::

        mod = import_module('random')

    :param module_name: The dotted Python path
    :type module_name: string

    :returns: module
    """
    try:
        return importlib.import_module(module_name)
    except ImportError as err:
        raise UnknownModuleError(str(err))