#670

fixed #670
Attempt to fix #661

When HBaseStoreManager creates Titan's table, it creates the table and
one column family inside the table simultaneously (in the same admin
API call).  This differs from the old behavior, where
HBaseStoreManager would first create the table with one API call, then
create a CF in the table with a subsequent API call.  This may fix

This commit also adds a new method to the HBaseCompat interface to
future-proof HBaseStoreManager's use of HTableDescriptor constructor
signatures deprecated in 0.96+.
Remove default value for storage.backend

The last default, "local", hasn't been valid for a while now.
Log more exception info in ConfigurationUtil
Fix titan-hadoop-1's hbase deps

titan-hadoop-1 erroneously pulled in hbase 0.98.3-hadoop2 artifacts
with scope provided from titan-hadoop-parent.  This in turn pulled in
a bunch of Hadoop 2.2.0 jars.  I've changed titan-hadoop-1 to use
HBase 0.94.12 and left titan-hadoop-2 and -core on 0.98.3-hadoop2 for
the time being.

It would be nice to pull out the 0.98.3-hadoop2 and 0.94.12 version
constants as maven pom properties in a future commit, so that they
could be easily changed.
Disable fork reuse in titan-hadoop Cassandra tests
Enable failsafe plugin in titan-hadoop-1 & -2
Adding debug log msg in HadoopPathElement
Debugging tweaks around LinkMapReduce

Adding some log messages, including one that dumps the entire job
config when LinkMapReduce is missing a required config key.  Also
added a precondition in the HadoopPipeline method that implements link
steps.
Fix typo in titan-hadoop test's storage.backend
Encapsulate more Hadoop1/2 incompatibilities

Running the Cassandra-backed failsafe tests against titan-hadoop-1 and
-2 pointed out a few more usages of Hadoop types with binary
incompatibilities between 1.x and 2.y that had leaked into
titan-hadoop-core.  This commit is a response to the leaks.
Fix leak of TitanGraph instances

Opening but not closing graph instances encapsulated in
TitanHadoopSetup caused Cassandra-backed titan-hadoop integration
tests run via the maven-failsafe-plugin to die with "too many open
files" on my system.  There could still be leaks, but this change was
enough to resolve the issue on my machine for now.
Add ConfigNamespace/ConfigOption to titan-hadoop

This commit introduces a ConfigNamespace and several ConfigOptions to
titan-hadoop and replaces several hardcoded string keys scattered
around the code with ConfigOption uses.

This is not a complete migration away from Hadoop Configuration.  A
few of the unresolved issues:

* Hadoop Configuration's setClass(String key, Class impl, Class iface)
  method does not have an exact equivalent in the titan-core
  configuration API.  It could be modeled with ConfigOptions
  parameterized in a composite value representing a pair of impl and
  iface, but that's not ideal.

* Hadoop Configurations are unavoidable when working with MR, so I
  took the approach extending Hadoop's Configured base class with a
  HybridConfigured subclass that maintains both a Hadoop Configuration
  and read-only Titan configuration backed by the Hadoop
  Configuration.  All writes currently have to go though the Hadoop
  Configuration though, and that's cumbersome in some places.

* Several input and output format-specific options haven't been
  migrated to ConfigOption at all (e.g. rdf and edgelist options)
Untested fix for #667
Fix configuration for Hadoop 2 combiners

This commit fixes a failsafe integration test failure in
TitanCassandraOutputFormatTest#testBulkEdgeDerivations that occurred
on titan-hadoop-2 but not on titan-hadoop-1.  The link step was
failing with an NPE when attempting to read the traversal direction
from the config under H2 (but succeeding under H1).  I think this is
due to the way Hadoop2Compiler handles job configuration; it sets
custom config keys, including the traversal direction for link steps,
on the reducer and mapper but not on the combiner.  This commit tries
to pull the custom config keys up to the job level so that they're
inherited by the combiner as well as the reducer and mapper.  At
least, I think that's what's going on -- not 100% confident I've got
the analysis correct, even though the fix seems to work.
Add a log4j config to titan-hadoop tests
Comment typo fix
Add failing tests for two ES mutate bugs

These tests exercise the two buggy logic branches identified in
Elastisearch's mutate implementation by #670 and #671
Run Cassandra-backed titan-hadoop tests by default
Merge branch 'patch-1' of github.com:boliza/titan into boliza-patch-1