Bust up the test stuff into java vs. groovy and public vs. internal (closes #75)