Function starts the process by:
    1. retrieving its fully specified path name
    2. if the path name ends with starter method - then creates an instance of the wrapping class
        and calls <code>starter(*args)</code> method on it
    3. if the path name ends with starter function - then retrieves its module
        and calls <code>starter(*args)</code> function on it

def start_by_process_name(process_name, *args):
    """
    Function starts the process by:
    1. retrieving its fully specified path name
    2. if the path name ends with starter method - then creates an instance of the wrapping class
        and calls <code>starter(*args)</code> method on it
    3. if the path name ends with starter function - then retrieves its module
        and calls <code>starter(*args)</code> function on it
    """
    sys.stdout.write('INFO: Starter path {0} \n'.format(context.process_context[process_name].classname))
    t, m, starter = get_class(context.process_context[process_name].classname)
    if isinstance(m, class_types):
        sys.stdout.write('INFO: Starting process by calling starter method {0} \n'.format(starter))
        instance = m(process_name)
        method = getattr(instance, starter)
        method(*args)
    elif isinstance(m, types.FunctionType):
        sys.stdout.write('INFO: Starting module.\n')
        function = m
        function(*args)
    else:
        raise ValueError('Improper starter path {0}'.format(context.process_context[process_name].classname))