Fix AbstractConfiguration.getSubset(root)

Calling this method on a ConfigNamespace parameter that was a root
namespace would unintentionally cut off the first character of every
config key returned in the subset map.  I don't think this affects
existing databases, since KCVSConfiguration doesn't seem to use this
method.
Expanding ScanJob javadoc
Creating ScanMetrics javadocs

The javadoc contracts are inferred from the StandardScanMetrics
reference implementation's behavior.
Adding nullary constructor to IndexRepairJob

This is necessary for reflective instantiation on the MapReduce-based
ScanJob executor.  IndexRepairJob seems to inherit a setup method that
supports the construct-without-arguments-then-call-setup pattern, but
the necessary constructor did not exist.
Additional InputFormat work

* Reimplemented HBase inputformats at the binary level,
  Mapper<...GiraphComputeVertex...> level, and the Giraph
  VertexInputFormat level.

* Refactored Cassandra inputformats to share common code between the
  HBase and Cassandra IF implementations.
titan-hadoop-core cleanup

Removing some currently unused utility/noop format classes and hdfs
utility classes.
Hadoop MR ScanJob runner and Cass-backed test

The core logic for the new MapReduce-backed ScanJob executor is in
HadoopScanMapper.  HadoopScanRunner is a companion class with a helper
method that programmatically starts a single MR Job setup to run a
ScanJob with its Configuration passed as parameters to the helper
method.  The new test is CassandraScanJobTest, which runs the same
SimpleScanJob test code used by KCVSTest, except against Cassandra +
MapReduce + Hadoop 1/2 (both versions of the test are passing as of
this commit).

Related changes in this commit:

* Refactored the SimpleScanJob test in KeyColumnValueStoreTest.
  SimpleScanJob itself has been pulled up to a non-inner public class
  for reuse.  The test logic inside the scanTestWithSimpleJob method
  has been moved a static method on SimpleScanJob to allow the
  MapReduce-backed test to reuse it more easily.  Likewise, the
  loadValues method that prepares data fixtures required by the
  SimpleScanJob have been moved to static methods on
  KeyColumnValueStoreUtil to allow reuse by MapReduce.

* Made SimpleScanJob use the Configuration argument passed to its
  setup method for initialization, and added a crude hex serialization
  for its slicequery bounds.  Its modular arithmetic parameters
  involving vertex IDs are just serialized using the existing logic
  for numbers in the config impls.  Passing configuration around this
  way instead of doing it through construction is necessary for
  MapReduce where the submitting process is not in general the same as
  the executing process.  The alternative is to create a concrete
  subclass containing config parameters for every little cfg change,
  and this looked like a mess in the scanTestWithSimpleJob method when
  I tried it out.

* Separated job and graph configs in StandardScanner.  Formerly, one
  configuration was used for both purposes, but there's no reason to
  assume that the ScanJob uses GraphDatabaseConfiguration.ROOT_NS as
  its config root like Titan proper does.  Aside from the obviously
  related files, this change also touches one line in OLAPTest.

* Updated the titan-hadoop-parent/pom.xml to run the new MapReduce
  test at the appropriate surefire stage (when Cassandra's configs are
  in place)

* Added a basic ArrayList-extending implementation of EntryList that
  returns a wild guess for its heap usage.  The binary input formats
  still return Iterable<Entry>; this should probably change to a type
  that offers more of the capability in the underlying datastructures
  returned by HBase/Cassandra.

* Added some Hadoop1/2 compat code related to counters (the MR
  ScanMetrics implementation uses Counters).

This commit includes an unfinished (and completely untested)
HadoopVertexScanMapper.  The configuration setup in that class still
needs some work before it can be tested.
Merge branch 'titan09' of github.com:thinkaurelius/titan into titan09

Conflicts:
	titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/keycolumnvalue/scan/StandardScanner.java
	titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/keycolumnvalue/scan/StandardScannerExecutor.java
	titan-test/src/main/java/com/thinkaurelius/titan/olap/OLAPTest.java

Besides the patch conflicts, there were some semantic conflicts
preventing compilation in Backend.java.