Refactor backend-aware TitanIndexTest methods
Add concurrent-write cases to IndexProviderTest
Merge branch 'titan05' of github.com:thinkaurelius/titan into titan05

This merge didn't technically conflict, but it did introduce
compile-time errors in IndexProviderTest relating to the change in
signature for IndexTransaction's constructor.  I think this commit
fixes all such instances.
Rename classes to remove "Internal" anachronism

During the earliest stages of Titan's test harness development, we
named Cassandra tests with either the prefix "Internal" or "External"
depending on whether the test was responsible for bootstrapping its
own Cassandra instance for testing purposes or whether it could assume
a Cassandra instance was already listening on localhost and the
default Thrift port, respectively.  The Cassandra test harness has
matured since then; the "External" test classes have long since been
removed, but the naming scheme left a legacy of superfluous "Internal"
prefixes all over titan-cassandra's src/test/java.

I've stripped the "Internal" anachronism and removed the last mentions
to the External/Internal distinction from the top-level pom.xml.

I also used this opportunity to shorten some of the the obscenely long
Cassandra test class names; for example

  InternalCassandraEmbeddedMultiWriteKeyColumnValueStoreTest

is now just

  EmbeddedMultiWriteStoreTest

The other backends don't have the External/Internal naming
anachronism, but I'm planning to shorten them according to the same
pattern in a subsequent commit.
Unify and shorten BDB test names

Replacing the prefixes "BerkleyJe", "BerkeleyJE", "BerkeleyDB", and
"BerkeleyDBje" in test names with "Berkeley".
Shortening three HBase test class names
Rewrite HBase test daemon start/stop logic

The shutdown hook usually executes on my machine, but every so often
it would not fire before the forked test VM died, causing later HBase
module test suites to hang.  I think this commit prevents that
behavior by checking for a "leftover" running HBase daemon before
starting the test suite.
Fix cached_classpath generation for `mvn package`

`mvn install` worked fine for all HBase builds, but running the
`package` (which does not install Titan artifacts in the local
repository, just builds jars) would fail due to the way the HBase test
daemon's cached_classpath.txt file was generated.  This is fixed.
Clean Maven Shade's temp file in HBase 0.94 build
Remove potential race in CKIDManager

Got this exception on a EC2 Bamboo build.  I can't reproduce it, but
it's concerning, since it suggests a block was erroneously allocated
twice in the IDAuthority stress test under HBase:

28-May-2014 23:16:44 	Tests run: 18, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 346.307 sec <<< FAILURE! - in com.thinkaurelius.titan.diskstorage.hbase.HBaseIDAllocationTest
28-May-2014 23:16:44 	testMultiIDAcquisition[0](com.thinkaurelius.titan.diskstorage.hbase.HBaseIDAllocationTest)  Time elapsed: 75.904 sec  <<< FAILURE!
28-May-2014 23:16:44 	java.lang.AssertionError: null
28-May-2014 23:16:44 	        at org.junit.Assert.fail(Assert.java:86)
28-May-2014 23:16:44 	        at org.junit.Assert.assertTrue(Assert.java:41)
28-May-2014 23:16:44 	        at org.junit.Assert.assertFalse(Assert.java:64)
28-May-2014 23:16:44 	        at org.junit.Assert.assertFalse(Assert.java:74)
28-May-2014 23:16:44 	        at com.thinkaurelius.titan.diskstorage.IDAllocationTest.checkBlock(IDAllocationTest.java:179)
28-May-2014 23:16:44 	        at com.thinkaurelius.titan.diskstorage.IDAllocationTest.testMultiIDAcquisition(IDAllocationTest.java:390)

I think this happened because the timestamp used in the ID allocation
write is generated prior to starting the IDAUTHORITY_WAIT timer.  If a
thread generates its timestamp, then gets pulled off core by the OS
scheduler, then gets placed back on a core and proceeds to start the
IDAUTHORITY_WAIT timer, it could potentially end up writing a
timestamp older than IDAUTHORITY_WAIT without triggering a retry.  At
least, that's my best guess for what happened.
Tweak HBase and Cassandra test log configs
Refactor HBase modules to play nice with IDEA

Both IDEA and Eclipse are unable to to handle Maven
<testSourceDirectory/> or a build-helper-maven-plugin:add-test-source
config pointed at a directory outside the module basedir.  Shuffling
tests into titan-hbase-core and packaging them into a test-jar to work
around this limitation.

This commit also fixes the bogus packagename declaration at the top of
HBaseStatus.java.
Minor pom formatting tweak
Create HBase table before reading rowkey partition

This avoids a nonfatal but scary-looking exception when Titan is
opened against a HBase cluster for the first time.  The
HBaseStoreManager didn't check that Titan's table existed when reading
the rowkey partitions for the table.  It would attempt to lookup
rowkey bounds for a nonexistent table, leading to a
TableNotFoundException.  It would proceed to create the table and this
wouldn't occur on subsequent opens.

This should be fixed, since getLocalKeyPartition() now ensures that
the table exists before trying to read its rowkey bounds.
Reconfigure Cassandra dblog tests

This commit makes the Cassandra-backed LogTest subclasses run serially
and also permits messages with DEBUG or higher severity in both the
console and target/test.log output.  The goal of these two changes is
to make difficult-to-reproduce LogTest failures slightly easier to
analyze using the log alone.
Unify names of IDAuthority impls/tests

We used a mix of manager, authority, and allocator to refer to what
was fundamentally the same type, which survives this commit unchanged
as "IDAuthority".

This commit does not touch "IDManager", which is distinct from
IDAuthority.  Nor does it touch VertexIDAssigner.  Just IDAuthority
implementations and tests.
Renamed TransactionHandle to BaseTransaction

Also renamed TransactionHandleConfig to BaseTransactionConfig, renamed
the builder, several methods that refer to the type, and a javadoc
comment linking to a method with an affected type in its signature
add support replication strategy and options for C*
add SSL support for C* Astyanax/Thrift backends
Changed OLAP/Fulgora to reflect TP3 interface and design philosophy.