Added Java Support

Added basic Java support, following the example of Scala.  Slightly more complicated because Java class files must have the same name as the class they contain, but other than that it's mostly a cut and paste job.