Adding annotations jars to cdk-maven-plugin.

This is necessary because annotations in cdk-data-core introduce a
dependency.
CDK-177: Updating cdk-tools to use newReader.
CDK-177: Adding FieldPartitioner#valueFor.

Previously, the PartitionStrategy extracted data from entities or
Markers to fill a PartitionKey. But, this required accessing all
necessary data from the FieldPartitioner, the source name and type, and
then calling apply on the extracted value. It's cleaner for each
FieldPartitioner to extract the data instead, which means the
PartitionStrategy doesn't need to access the source type, source name,
or field name.
CDK-177: Changing View#contains Key to Object.

PartitionKey will probably not be exposed through View. Only entities
and Markers should be tested against Objects.
CDK-177: Adding MarkerComparator.

MarkerComparator is a set of methods for working with Marker objects, in
the context of a PartitionStrategy, as ranges or parts of the partition
space. It includes:
* contains(Marker, Marker) => true if the first contains the second
* contains(Marker, Marker, Marker) => true if the inclusive range formed
  by the first and second args includes the third
* compare(Marker, Marker) => compares two Markers, throws
  IllegalStateException if either one contains the other
* leftCompare(Marker, Marker) => compares to Markers, if one contains
  the other then it is considered greater-than (see javadoc)
* rightCompare(Marker, Marker) => compares to Markers, if one contains
  the other then it is considered less-than (see javadoc)
CDK-177: Adding MarkerBound class for Marker ranges.

MarkerBound represents an inclusive or exclusive range boundary based on
a Marker. It implements isLessThan(Marker) and isGreaterThan(Marker) to
test whether a Marker is above or below the boundary. A Marker or Key is
in the range if start.isLessThan(marker) and end.isGreaterThan(marker).