Process command line arguments
        :param: List of strings containing command line arguments, defaults to sys.argv[1:]
        :return: docopt args object

def parse_arguments(arguments=sys.argv[1:]):
        """
        Process command line arguments
        :param: List of strings containing command line arguments, defaults to sys.argv[1:]
        :return: docopt args object
        """
        args = docopt.docopt(doc="""
Smart File Sorter

Usage:
  sfp RULEFILE DIRECTORY [--debug] [--dry-run] [--log LOGFILE]
  sfp [--debug] --list-plugins

Options:
    RULEFILE        Rule configuration file to execute
    DIRECTORY       Directory of files to process
    --debug         Log extra information during processing
    --dry-run       Log actions but do not make any changes
    --log LOGFILE   Specify log output file
    --list-plugins  Print match and action plugin information
        """, argv=arguments)
        return args