Add basic compilation.

At current, the lexical analyser will create the correct references for
the constant pool (i.e. this and super class references, will all
associated elements) to be able to create a valid java .class file.

The compiler collates and writes the correct information to a .class
file.

The JVM will complain there's not main method, which is perfectly valid.