Add some comments to titan-cassandra-es config
Update old config keys in faunus configs

There are still some old keys in the RDF and ScriptInput/Output
configs, but HBase & Cassandra should be up-to-date
Add a trivial EsInputFormat MR test config

Experimenting with elasticsearch-hadoop-mr module for mapreduce
integration
Manage Lucene and ES version in top-level pom

This commit pulls the ${elasticsearch.version} and ${lucene.version}
property definitions into the top-level titan pom.  It also adds a new
property, ${elasticsearch.mr.version}, that seems to float independent
of ${elasticsearch.version}, and adds a dependency on
elasticsearch-hadoop-mr in titan-hadoop-parent.
Tweak archive and config descriptors

The archive.xml change kills some pointless rendunancy in the
descriptor.  The configs.component.xml change allows inclusion of the
conf/hadoop directory.
Basic groundwork for MR-based REINDEX

This commit adds a pair of custom mappers to the titan-hadoop module;
one iterates over edgestore (no query/slicepredicate) and logs each
vertex it sees, while the other iterates over an Elasticsearch
index/type pair and logs each document mapping it sees.  Neither
mapper writes anything.
Add *.DS_Store to .gitignore
(cherry picked from commit 60d15686a23fa9e0bb768998d19a7d80ccf46c34)
Merge branch 'titan05' into hadoop-reindex
Added index restoration and recovery from transaction log for secondary indexes. Allowed config options to be hidden.
Remove unused field
Make ReflectiveConfigOptionLoader more robust

Related: https://groups.google.com/forum/#!topic/aureliusgraphs/FD5cKy72h7Y

ReflectiveConfigOptionLoader walks the classpath at startup, looking
for static ConfigOption fields to initialize.  titan-all depends on
titan-hbase, but it leaves declaration of an hbase-client dependency
to the user.  titan-hbase's classes won't actually link without an
hbase-client jar available.  If the user doesn't provide one, then
ReflectiveConfigOptionLoader will walk over HBaseStoreManager's
ConfigOption fields and die with linkage errors on org.apache.hbase
when trying to load HBaseStoreManager and initialize its fields.

ReflectiveConfigOptionLoader now catches and warns on linkage errors
it encounters while walking the classpath instead of propagating them
up the stack.

titan-all still needs to depend on hbase-client.  Right now,
declaration of a dependency on hbase-client is left up to the user;
this is too brittle.  Better to set a dependency on some version than
none at all, leading to classpath problems if the user doesn't declare
an HBase dep.  That will happen in a follow-up commit.
Fix titan-all dependency problems

This commit makes two changes in titan-all's dependency tree:

1. titan-all now depends on hbase-client 0.98.2-hadoop2.  Before, it
   didn't depend on an hbase/hbase-client version, relying on the user
   to set one or exclude the titan-hbase module in their own pom.
   titan-all now sets a default version to avoid
   NoClassDefFoundErrors.  Downstream poms can override or exclude it
   as desired.

2. titan-all now explicitly declares dependencies on the Jackson 1.x
   and 2.y artifacts that it indirectly uses.  titan-all doesn't
   directly use Jackson, but its transitive deps do.  Furthermore,
   those transitive deps brought in a combination of 1.8 and 1.9 jars,
   and this led to NoClassDefFoundErrors at runtime.  Now titan-all
   sets all the affected artifacts to the same version declared in
   dependencyManagement.

   Importing dependencyManagement might be the cleaner approach:

   http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies

   However, I'm wary of imposing additional requirements on downstream
   poms that want to use titan-all.  Also, I don't know whether
   dependencyManagement imports work on non-Maven tools that parse
   poms, such as gradle or sbt.  The approach in this commit is
   stupider than dependencyManagement imports but also simpler and
   should work regardless of the tool manipulating the downstream pom.
Additional Titan MR index support

Expanding implementation of the Mapper class that will support index
repair over Hadoop MR:

* TitanIndexRepairMapper now opens and closes a graph instance in
  setup and cleanup, respectively

* Renamed the "output.location" and "output.overwrite" keys to
  "tmp.seq.location" and .overwrite to better reflect their role in
  temporarily storing intermediate sequencefile data passed between
  jobs that Faunus/titan-hadoop chains together

* Added a SchemaStatus sanity check in TitanIndexRepairMapper
Work around Java 8 compiler bug (JDK-8037388).
Tweaking TitanIndexRepair

* Renamed config key titan.hadoop.index.name to
  titan.hadoop.reindex.name

* Added config key titan.hadoop.reindex.type

* Added helper method to TitanIndexRepair for quickly launching a
  reindex job on Cassandra

* Deleted confusing/misnamed set method in ConfigurationUtil
Merge branch 'titan05' into hadoop-reindex

Conflicts:
	pom.xml
Fix/expand default TitanGraph config for Hadoop

This commit increases latency tolerance in the default TitanGraph
configuration used by titan-hadoop.  The diff shows exactly which
options are set, but the general idea is to increase timeouts and
retries.  It also sets the buffer-size to Integer.MAX_VALUE to prevent
Titan from chunking a single commit's mutations into multiple
HTable.batch or Cassandra.Client.batch_mutate calls.

This commit also exposed some outdated & hardcoded config option
strings in TitanGraphOutputMapReduce.
Add HBase short CF names for three families

These three CFs did not have short name mappings:

  system_properties_lock_
  systemlog
  txlog

This commit adds a single-character short name for each one.
Tweak gremlin.sh log config for HBase & MR

Using the HBase storage backend in gremlin.sh produced a ton of these
relatively uninteresting ZK log messages level:

INFO  org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper  - Process identifier=catalogtracker-on-hconnection-0x45f55321 connecting to ZooKeeper ensemble=127.0.0.1:2181

The default logger level is WARN, but I set the org.apache.hadoop
package prefix to INFO a while back by default so that MapReduce job
progress information would be visible.  This ZK noise is an unintended
side effect.

This commit narrows the INFO override to
org.apache.hadoop.{mapred,mapreduce}.  It's still possible to override
both the catchall level on the root logger and the level of the MR
packages via either the -l command line option to gremlin.sh or by
setting these environment variables:

 GREMLIN_LOG_LEVEL
 GREMLIN_MR_LOG_LEVEL
Updating HBase short CF names

Changing the single-letter space-saving HBase column family names so
that they once again bear at least some mnemonic link to their
long-form equivalents.  Some of the long forms have changed since the
HBase shorthands were introduced and the short forms weren't updated.