Update test framework

* Update from junit 3 to junit 4
* Switch from TestCase to @Test
* Switch to hamcrest

Updates to junit 4.x and also uses hamcrest to solve the issues with testing arrays and collections.