Add a second test case file, and modify the SConstruct accordingly.
Add a bunch of changes to improve Java file handling.

There are still edge cases.

Closes #2.