New configuration file format
Finished improving recursion
Moved bulk of the work into a new class
Added --clean option for compile to pre-clean