ermahgerd it's actually compiling
fix error handling
move extensions into their own files
all tests passing
pull more out of the file helper and into extensions
clean up comments
Merge pull request #238 from jenius/compiler-restructure

Compiler restructure