Updated getTarget() to auto-detect the target using `llc --version`. The code for this is... alright. Feel free to improve it if possible.
Added target attribute to config schema. This can be used to override the auto-detected  LLVM compiler target.
Forced 64-bit Windows config to use a 32-bit MinGW target
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.
Primary merge
Another merge related commit
Merge remote-tracking branch 'upstream/master'
Final merge-related commit
Implemented --force-regenerate option
Fixed merge error - the Configuration  was not properly made avaiable to the TypeCollector class
Merge pull request #11 from Brinsky/master

Target auto-detection (and config file override ability)