Added 3 methods to KCVS.
add Cassandra adapters implemention of getSlice(List<StaticBuffer>, ...) + test
add HBase implemention of getSlice(List<StaticBuffer>, ...) + test
Astyanax getKeys(SliceQuery)/getKeys(KeyRangeQuery) implementations
Cassandra Thrift getKeys(SliceQuery)/getKeys(KeyRangeQuery) implementations
Embedded Cassandra getKeys(SliceQuery)/getKeys(KeyRangeQuery) implementations
HBase getKeys(SliceQuery)/getKeys(KeyRangeQuery) implementations + small changes in Cassandra ones
add missing getKeys({KeyRange,Slice}Query, StoreTransaction)
merge with master
refactor MetricInstrumented{Store, Iterator} and add missing getKeys(...) methods
fix Astyanax getKeys(...) dispatch when SliceQuery is null
add getKeys(SliceQuery) test for all of the backends
add getKeys(KeyRangeQuery) test case
Merge remote-tracking branch 'origin/master' into kcvsiter
merge with master
add missing getKeys/getSlice methods to ExpectedValueCheckingStore
fix infinite loop in embedded cassandra row iterator
Merge remote-tracking branch 'origin/master' into kcvsiter
Enabling maven-enforcer's DependencyConvergence

This enforcer rule walks the dependency tree throws an error if it
finds multiple versions of any one dependency.  It prints the paths it
walked from the project root to each of the dependency declarations.

This suspends maven's automatic version conflict resolution.  The user
has to resolve all conflicts by explicitly excluding unwanted versions
(including those pulled in transitively --
dependencies-of-dependencies).

Allowing maven to automatically resolve dependency versions resulted
in more than one version within each of the lucene-*, asm-*, and
jersey-* sets of jars, and that has caused problems with two of those
sets so far.

I attempted to resolve the backlog of conflicts somewhat sensibly,
though these initial version selections will likely need fine tuning.
The project builds and the tests pass, but this is still sort of an
experiment.