Finished initial implementation of JavaClass
Implemented the meat of JavaClass.
Changed CodeGentException to an unchecked exception since code
generation should fail when this happens, rather than being handled.
Changed CodeWriter to File. Removed test code from JavaClass main
method.
Changed return type of all abstract methods for Block to CodeBuilder to
allow more flexibility. Added abstract Statement type with similar
functionality, but for simple statements rather than compound. Fixed
everything that broke in the Java package due to these changes.