Separating the extractor into a dedicated module.
Adjusting the source interface to support a set of options.

The source plugin interface now has a function to parse the arguments provided to
the plugin.
Reflecting the changes to the main file.
Adding the option parsing ability to the destination plugins.

The destinations plugins can now implement options and take advantage of the --destination-options switch
Merge pull request #8 from rgreinho/feature/separate_cli_and_extraction_logic

Feature/separate cli and extraction logic