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)
Update deprecated cassandra.yaml options

Change two cassandra.yaml option names:

authority -> authorizer
encryption_options -> server_encryption_options
Setup MemoryMeter agent for Cassadra tests

The Cassandra tests currently spam this warning:

WARN org.apache.cassandra.db.Memtable - MemoryMeter uninitialized
(jamm not specified as java agent); assuming liveRatio of 10.0.
Usually this means cassandra-env.sh disabled jamm because you are
using a buggy JRE; upgrade to the Sun JRE instead

This downloads @jbellis's jamm project before running tests and points
the -javaagent JVM argument at the downloaded JAR file.  This
optimistically assumes JVM support for JAMM without actually checking
for it.  This means JAMM could break terribly when run using a really
old OpenJDK version or any JVM that doesn't work properly with JAMM.
Relaxing lock timestamp mismatch check

This should stop timestamp mismatch PermanentLockingExceptions from
being generated in single-process deployments as described in #302.
Merging timestamp mismatch patch from master
Partially parallelize Cassandra tests

Refactor tests in titan-cassandra into two separate executions of the
Maven surefire plugin: one for test cases requiring Cassandra's
ByteOrderedPartitioner, and another for RandomPartitioner
Added two toString() methods in locking code
Minor style changes

Removed two redundant uses of "this" keyword
Trimming Cassandra's pom.xml test configuration

Removing commented sections of pom.xml and unnecessary forking-related
test configuration settings in pom.xml
Logging changes and additions in locking code
Hacking thread safety onto LockKCVStoreTest

These changes are intended to make LockKCVStoreTest tolerate multiple
instances of its various concrete subclasses running concurrently.
These changes are barely tested.
Stop caching lock column values

If writing a lock claim to a storage backend took longer than
LOCK_WAIT_MS to complete, then later attempts to verify that lock
claim would generate a guaranteed "timestamp mismtach"
PermanentLockingException.  This should now be fixed.

This was due to an interaction between
ConsistentKeyLockTransaction#writeBlindLockClaim(...) and
LockClaim#getLockCol(long ts, byte[] rid).  The former calls the
latter.  The latter calculated a return value only on its first
invocation, cached it, and then returned it on that and all subsequent
invocations.  It did this even if the ts argument, on which the return
value depended, varied between invocations.  In cases where a lock
claim write took longer than LOCK_WAIT_MS to succeed, this caching
behavior made retries write a stale timestamp and later caused a
"timestamp mismatch" exception.  This commit makes getLockCol(...)
calculate its return value on every invocation.

This should alleviate one potential cause of timeout mismatch
exceptions as discussed in #302.
merge with master