Reworked configuration system. Config files are no longer platform specific, but can be used to override auto-detected and default fields (such as architecture, OS, import paths, etc.). Default output file names are now the same as the source file (with no extension, or a .exe on Windows).
Added --force-recompile option. This can be viewed through Configuration.isForceRecompile().
Configuration is no longer a singleton. Fixes to testing system.