Javadoc'ing all methods in HadoopCompat interface
Expand Faunus Distributed Cache support to Hadoop1

This commit pulls most of the Hadoop2-specific DistributedCache
support introduced by 71e7c54e067e8e9388fec5799a6a0a72210d2a2e into
titan-hadoop-core, with a little bit of code in the Hadoop1Compat and
Hadoop2Compat layers to account for different config key names and
interface deprecations.
Deprecating some Faunus config classes

These are probably going to be removed soon.
Split titan-dist into Hadoop 1 and 2 submodules

Before this commit, Maven built one distribution zip/tar archive based
on Hadoop 2.  Now it generates a pair of archives, one for Hadoop 2
and another for Hadoop 1.  Each archive runs a separate execution of
the Expect-based integration tests.
Fix Hadoop bytecode incompatibility leaks

This commit fixes several more instances of Job.getConfiguration() and
TaskAttemptContext.getConfiguration() lingering in titan-hadoop-core.
These calls can't be made directly from titan-hadoop-core because the
Job and TAC types changed from classes to interfaces between Hadoop 1
and 2.  Replaced them with calls to the associated helper methods on
the HadoopCompat interface.
Tweak lib file filter for zip/tar archives

The zipfile/tarfile assembly descriptor is now slightly more
inclusive.  It used to exclude any jar in the dependency tree with
classifier tests, javadoc, shared-resources, or example-data.  Of
those, tests could have potentially been problematic; there are some
dependencies in the titan-dist tree that in turn depend on artifacts
with classifier "tests" yet have dependency scope "compile".  Anything
with compile scope should go into lib, and now that's the case, even
if the classifier is "tests".  It's possible that these compile scopes
are just oversights in the poms of our dependencies, but I can't
easily tell and it's not worth the risk of excluding them.
titan-dist pom optimization

Tweaking Maven plugin execution bindings to skip pointless plugin runs
and slightly shorten execution times.
Adding ES daemon helper to support Faunus tests

The vast majority of ES-backed tests work fine with local-mode where
ES runs embedded and does not accept sockets.  However, this does not
work well with Faunus.  Running many short-lived map or reduce tasks,
each with its own embedded ES instance running in local-mode tends to
cause a wave of unclean ES shutdowns.  Starting a backgrounded ES
daemon in an external process and then running Faunus + Titan + ES
tests against that external process is cleaner.

This commit introduces a Java utility class that starts and stops an
external ES daemon to support Faunus tests.  The daemon writes a
pidfile /tmp/titan-test-es.pid and writes data to
titan-es/target/es-data.  The config and scripts are lifted from the
ES 1.2.1 distribution.  Some of the pom glue and utility class code
are adapted from similar previous work in titan-hbase.

The recently introduced CassandraESReindexTest class already requires
an external ES daemon to succeed.  This commit just adds automated
tooling to provide one and adds a @BeforeClass to
CassandraESReindexTest that uses it.
Eliminate unused code, field in HBaseStatus

This commit deletes some unused code from some of the utility classes
that start and stop HBase daemons during testing.
Update titan-es .gitignore

Ignore scripts and configuration generated for the use of the
standalone ES daemon
Fix typo in titan-es maven-clean-plugin config