Java rewrite engine

@chathhorn please review

One side effect here is you should always run either make clean or stop-kserver after running the test suite, in order to clean up the state. I don't know another way to make sure that a make command always runs no matter what commands failed before it.