Compiler

This adds the compiler with the needed updates. I do not see a need to maintain this file separately. If you wish you can attempt merging your source history and I'll submit my changes again.

This is the first step in bringing in a make file for actually building the compiler.