Added functionality for clearing caches

Now -c or --clear-caches will remove all files from the
cache folder effectively forcing all new builds to
recache.
Added functionality for global variable storage

Will implment this further later, for now, need to implement
sub parsers for arguments to handle the varied options.
Added better argument parsing and completed config

Used subparsers for arguments and completed the config
subparsing process.
Fixed a bug in config

Before was using cache error instead of global error
Completed cache functionality

Added listing, adding and removing features to the
caching subparser and completed the functionality for
these items and the clean and rebuild options.
Also cleaned the code from the cache file a bit.
Feature complete release, needs testing

Touched all files to fix a couple bugs and finish
compiler. Will test and clean up code now,
then will fast-forward master and develop to match
this release.
Bug fixes and feature completion

Fixed a couple of minor bugs and added a list option
to the config subparser.