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 master into cassandra-test-refactoring

Conflicts in ConsistentKeyLockTransaction.java were whitespace and
logging-statement related.
Allow timeouts when stress-testing ID authorities

This commit changes LockKeyColumnValueStoreTest's
testMultiIDAcquisition().  Now the tolerates ID authorities that
intermittently throw StorageException (e.g. due to a backend timeout),
so long as the correct number of correctly-sized id blocks are
allocated in sequential order.  The test now permits an ID allocator
to "skip" id blocks (which can happen on timeout in the current
ConsistentKey implementation) so long as the rest of the constraints
are respected.
Track thread exceptions in testMultiIDAcquisition

The method testMultiIDAcquisition in LockKeyColumnValueStoreTest
manually instantiated and started threads.  Assertion failures inside
those threads would appear on stderr, but they wouldn't be visible to
the JUnit runner and hence wouldn't directly fail the enclosing test.
Failures were detected indirectly by scrutinizing some state variables
after all the threads finished running.

This commit replaces manual thread instantiation with a standard
library ExecutorService.  The ES returns a Future for every Runnable
given to it.  The Future's get() method in turn throws an
ExecutionException containing any exception (such as an assertion
failure) generated by the runnable.  The test method rethrows these
exceptions when they occur, effectively making them visible to JUnit.
Removed forkMode=never on Persistit tests
Added Cassandra test profiles

Two default test-runner profiles trigger in titan-cassandra's pom.xml
when the -Dtest=... argument is absent on the command line.  A third
profile triggers when -Dtest=... is present.

The sole objective of this commit is to make maven stop running a
single test specified with the -Dtest=... command line option twice.
There might be a more elegant way to do it, but this works on my box.
Reverse commons-config automatic list parsing

Rexster calls TitanGraphConfiguration#convertConfiguration with what
Apache Commons Config calls a "hierarchical" configuration.  This
subset of Commons Config automatically turns comma-separated string
values into lists.  TitanGraphConfiguration needs to join these lists
back together as Strings for e.g. passing a list of seeds to a
Cassandra backend.  RexsterTitanServer does not use hierarchical
configurations and is not exposed to this automatic list parsing.
Merge titan03's configuration-value list change
add HBase and LockKeyColumnValueStoreTest improvements
Merge pull request #327 from thinkaurelius/issue_283

add HBase and LockKeyColumnValueStoreTest improvements