Intial refactor, adding config, and starting the refactoring of a lot of old stuff.

* Moving all config stuff to config
    * Renaming to reflect shared folder
    * Reworking config base to prevent mutable operations.
    * Making configs option like objects.
    * Adding config/current to represent config state through a global_config object.
    * Adding platform, library and command config types.
    * Adding imposter utility option.
    * Adding config loading to languages.
* Moving all top level stuff to core
    * Cleaning up PluginId. Uses SemanticVersion for version portion.
    * Cleaning up SemanticVersion (renamed from SemVer)
* Adding only import scripts to top level.
    * Depreciating stub.py in favor of plugin_stub.py
* Creating actions folder for subparts of commands.
* Creating helpers folder for helpful snippits of code.
* Commenting as needed. Also adding and fixing file headers where missing or incomplete.
* Renaming pyMDL -> MDL, reworked fron facing interface.
* Cleaning up gitignore.
* Starting a new plugin example called feature_example.
Adding information on the new config system.
Improving new config system.

* Slightly rebuilding config design.
* Updating readme.
* Fixing bugs.
* Integrating changes across system.
Cleaning up config system, and new refactor.

* Made wrap a per plugin failing operation.
* Cleaned up a bunch of bugs in the core and language packages.
* Changed config merge order to default -> system -> user -> command
* Added a DefaultConfig object.
* Added a MergedConfig object.
* Made core library a bit more robust.
Adding modes, cleaning up command line helper.
Adding all configs, and refactoring actions to accomadate.

* Refactoring actions onto a base action with common set of features.
* Adding a config helper to plugin stubs which applies everything but the compiler config.
* Adding a set of base commands.
* Reorganizing arg parser to better apply things.
Fixing spelling error across languages.
Adding --log-level to default arg parsing.
Adding OptionCompilerPrefrence, and CompilerConfig merging.

* Cleaning up default options to provide default compilers dependent on operating system.
* Cleaning up bugs in OptionImposter to make the above possible.
* Adding platform config objects for target and source.
* Rearranging compiler functions on language objects.
* Adding compiler config merging.
Adding platform_check plugin attribute.
Cleaning up PlatformCheck* functions.
Fixing Typo
Fixing A typo fixing typo
Fixing Windows reporting of OptionPlatformProcessorFamily
Adding new options for OptionSystemExecute* to prevent errors in craft-engine
Hooking OptionSystemExecute* features into the ExecuteAction.
Depreciating TypeStruct dictionary intialization. Adding __repr__ methods.
Adding plugins flag to command line.

* Adding mass plugin compute features to the system.
* Adding feature flag result processing to helper.arg_parse
* Cleaning up TypeStruct compatability and warning features.
Removing depreciated code helpers.