Honor skipTests in titan-hadoop's surefire config
Initial commit of HBase 0.98 support

I copied the shell and ruby scripts used by the test harness exactly
from 0.96 just to get started on 0.98.  We should probably update the
test harness scripts to 0.98 at some point though.
Fix HBase log config in 0.96 and 0.98
Fix description for HBase 0.98 shim
Bump HBase 0.98 ZK test version to 3.4.6

I changed the Zookeeper version used to test HBase 0.98 from 3.4.5 to
 3.4.6 to match the version shipped with distributions of
 0.98.2-hadoop2.
Disable copy-dependencies in HBase tests

This consumes hundreds of MB in unnecessary disk usage during testing
and at rest (until mvn clean).  I'd rather figure out the issues with
cached_classpath.txt generation on OS X.
Introduce HBase shim override option

Setting TITAN_HBASE_COMPAT_CLASS (in either the JVM system properties
or the process environment) to a full package and classname of a
HBaseCompat implementation overrides Titan's HBase version detection
in favor of reflectively instantiating an instance of the named class
and casting it to HBaseCompat.
Modified ReadMarker.fromNow() semantics

Prior to this commit, I was still seeing occasional nondeterministic
LogTest failures where some messages would be written to the store but
never read by a MessagePuller.  I think these failures were due to
ReadMarker.fromNow() and maxTime jointly creating a MessagePuller
slice window strictly later than the "lost" messages.  I've changed
ReadMarker.fromNow() to use the time at the moment the static method
is invoked, rather than when the associated MessagePuller initializes,
and I also changed the MessagePuller's maxTime computation.
Create HBase compat shim ConfigOption

This commit removes the old system properties and process environment
checks in favor of an ordinary graph configuration option,
"hbase-compat-class".  Aside from the source of the value, the
override behavior is the same.
Updating to Cassandra 2.0.7

Besides being the latest 2.0.x release, 2.0.7 is also the first
release in its line that fixes
https://issues.apache.org/jira/browse/CASSANDRA-6841, which has
(likely) been causing occasional "Unknown keyspace/cf" failures in the
Cassandra test suite for months.  We'll see...
Tweak titan-cassandra log4j test config

This replaces milliseconds-since-logger-was-created with yyyy-mm-dd
hh:mm:ss.SSS.  The point of this change is to make comparison of times
in different loggers/threads meaningful.

This also adds some commented lines that can be uncommented to enable
lots of DEBUG-level output in KCVSLog's implementation and tests
(under Cassandra).
Reduce test LOG_READ_INTERVAL to 500 ms

This makes the LogTest implementations a bit more responsive
Fix regression in LogTest$MessagePuller

The most important change in this commit fixes a regression that I
introduced yesterday via 7da161f9d8f2ef9f3384abcc97794df63c00412b.
Specifically, it broke the calculation of the end of MessagePuller's
column slice bounds by allowing them to straddle two timeslices.
Timeslices are mapped 1-to-1 with keys, and each individual
MessagePuller run is only supposed to query one timeslice/key.  The
regression manifested as dropping messages in the broken column slice
belonging that belonged to the later of the two timeslices.

This commit also introduces a bunch of new logging output and a
toString() implementation that I used when investigating the
regression and which will probably be useful in future debugging.
Implement toString() in log.util.FutureMessage
Adding a KCVSLog-related debug log message
Delete HBase daemon logs as part of `mvn clean`

These get quite large (hundreds of MB) after a few runs