Changed test case to enforce new behavior on conflicting writes to the index
Added new method to allow index restoration
(wip) implement ES.restore(...) (+ stub for LuceneIndex)
#670

fixed #670
(wip) implement LuceneIndex.restore(...)
add IndexProvider.restore(...) test
fix ES test for competing writes
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