Initial commit, outlined some of the methods with stubs
Added javadoc comments for methods and tests.
Added getters with stubs, need them for testing
Added implentations for all the tests.
Fixed up build file