* Added builders for all domain objects. Not sure if this is the best way, but at least it makes it easy to modify our Java API without breaking compability. It also lets us implictly document which arguments are mandatory and which are optional.
* Set some more defaults.
* Moved a couple of fields around.
* Wrote a super simple test to verify that it is now possible to build a somewhat consistent request domain model.
* Updated NOTICE to contain JUnit and Hamcrest