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