SCHEMA-133. Make KijiDataRequest immutable and add a Builder class

Adds KijiDataRequestBuilder. Get an instance by calling
KijiDataRequest.builder().

KijiDataRequests are immutable; all fields of requests and their
columns are final.

KijiDataRequests are created via KijiDataRequest.create() or
KijiDataRequestBuilder.

Semantics of KijiDataRequest.merge() and KijiDataRequestBuilder
are specified in their javadoc.

* Added new unit tests
* Updated all uses of KijiDataRequest API


Important: do not commit to master until patches for downstream projects like kiji-mapreduce are ready. I wanted to get the ball rolling on this review first though.