Fix failure by making each test execute in its own Project just like we said. This is a little kludgy, but the tests pass. Also did some javadoc'ing and cleanup.