Make Backend.clearStorage/.close idempotent

clearStorage already closes the Backend handles as it deletes their
data, so it doesn't make sense to call it multiple times.  Idempotence
of close is slightly more intuitive.
Support external calls to titan-hbase test harness

The test support code in titan-hbase-core can start and stop HBase
daemons at several different supported versions.  Prior to this
commit, the harness assumed that the current working directory of the
process was one of the titan-hbase-parent/titan-hbase-09X/
directories.  Now the harness's assumption can be overridden by
setting the test.hbase.parentdir system property.  This supports reuse
of the HBase daemon test harness from other modules, such as
titan-dist.  It's not the cleanest way to do it, but it works for now.
Add shared test resources to titan-hadoop-1 build
Make shared hadoop test resources dep optional

This changes titan-hadoop-2's dependency on titan-hadoop-core's
shared-resources jar to be both optional and test-scoped.  This change
only affects titan-hadoop-2.
Prevent avoidable NPE in TitanGraphOutputMR

TitanGraphOutputMapReduce has a static helper that constructs a
configuration with some default settings commonly used in testing.
These are Cassandra specific, which doesn't really belong in the
store-agnostic TitanGraphOutputMapReduce class anyway, but moving it
is a task for a future commit.  This commit just modifies the
default-setting logic to avoid an NPE when cassandra.yaml is not
available as a classloader resource in the same package as
TitanCassandraInputFormat.  That's still the first place it looks, but
if it comes up null, it tries the system classloader, and if that
comes up null, then it does not attempt to set a default value for the
cassandra.yaml path.
Hack support for HBase short CF names in Faunus

Prior to this commit, Faunus's HBase input format would fail to read
from a Titan database written with short-cf-names=true (currently the
default), since it just assumed that long CF names were in use.

This commit suggests future refactoring.  Hiding the mapping between
short and long names inside HBaseStoreManager a private datastructure
prevents TitanHBaseInputFormat from reading it.  Either the mapping
needs to become public, or we would need to change the type of CF
names from String to an enum or some interface that can supply both
the short and long name through a pair of methods.
Fix and extend titan-dist tests

This commit should ideally be split up into smaller commits, but
overlapping changes in titan-dist/pom.xml made that difficult.

This commit fixes the existing Expect-based tests, all of which were
broken before this commit.  There were a couple of problems:

1. Vertex IDs assigned by Titan during even trivial gremlin.sh
examples have changed since the Expect tests were originally written,
so that the current vertex IDs disagree with the constants embedded in
the Expect scripts.  I replaced all of those constant vertex ID
expectations with regexes for nonnegative integers.

2. A mismatch between the config files generated in titan-dist/pom.xml
and the default config files used by CassandraStorageSetup prevented
Cassandra from even starting

Both of these are fixed.

This commit also adds three new tests of Faunus:

* graphson->cassandra, shutdown, then cassandra->graphson
* graphson->hbase, shutdown, then hbase->graphson
* graphson->graphson

The Cassandra tests run once on BOP and then again on Murmur.  The
HBase tests run against whatever HBase version is in the zipfile
(currently: 0.98).  The tests start HBase automatically using the test
harness in titan-hbase-parent.

This commit also disables batch-loading in the default
titan-hbase-output.properties and titan-cassandra-output.properties
files shipped in the zipfile.  This is a temporary workaround for the
schema inferencer not forcing batch-loading off.

This commit also adds hbase-server to the zipfile dependency tree.
The zipfile was originally written with 0.94, which just had a single
artifact named "hbase".  0.96 and 0.98 are split between the
"hbase-client" and "hbase-server" artifacts, and HBase's MapReduce
input format ships in the latter.  Failing to include it in the
zipfile produced ClassNotFoundException when attempting to use the
HBase input format.

Several sample Faunus config files included in the zipfile contain a
path to ./graph-of-the-gods.json.  I changed this to
example-data/graph-ofthe-gods.json, so that the example files work
without any modification or file copying when using MapReduce's local
(in-process) job runner and directly accessing the local filesystem.

The modification to the root-level pom.xml file resolves a dependency
conflict between rexster and hbase-server over grizzly2's exact
version number.