Update and remove outdated Faunus sample configs
titan-hbase pom tweak for the release profile
[maven-release-plugin] prepare release 0.5.0-M2
[maven-release-plugin] prepare for next development iteration
Adding test of EVCS transaction handling

EVCS = ExpectedValueCheckingStore and associated manager and
transaction classes.  These classes hold a transaction which is
supposed to provide global strong consistency and another transaction
which does not guarantee any particular level of consistency.  This
new test checks that the strong consistency tx is used when reading
data to check expectations and when writing mutations for a
transaction which has taken at least one lock.
Make txs w/ locks write at QUORUM or higher

Along with cb8660102019c44288ee5556a8851b4307a211da and the tests
added by 7b159ef16be02f018053f6d0e0efa32809cdd8a9, this commit fixes
strong-consistency transaction both to read actual values associated
with expectations out of the backing store and to mutate data on the
backing store when at least one lock is held.

This commit also removes the warning added in
cb8660102019c44288ee5556a8851b4307a211da since it's now obsolete.
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.
Create titan-hadoop "universal binary" jar

Similar to titan-hbase, titan-hadoop assembles the classfiles from
titan-hadoop-core, titan-hadoop-1, and titan-hadoop-2 into a single
jar.  The compat shim loader in titan-hadoop-core reflectively loads
classes from either titan-hadoop-2 or titan-hadoop-2 depending on what
version of Hadoop is detected at runtime.

This commit also updates titan-all and titan-dist to use the
titan-hadoop jar.
Stop packaging test resources in the hadoop jars

titan-hadoop-1 and -2 needlessly included a couple of test resource
files along with their classfiles when packaging themselves.  Now
these test resources are omitted from their jars.
Change some maven module descriptions

Technically this commit changes the <name/> tag in the poms of several
modules, but <name/> is just a human-friendly text string.  This
commit does not change any artifact or filenames.
Add DistributedCache support in Faunus + Hadoop2

It's now possible to forego supplying a mapred job jar, in which case
Faunus under Hadoop 2 will iterate over all jars in the classpath and
call job.addFileToClassPath on each one, which puts them in the
DistributedCache and makes them available to the job at runtime.

This is only lightly tested.  It could also be generalized to Hadoop
1, although I'm not sure which types would be incompatible and which
can be shared and go in core.
Increase timeout in titan-dist Cassandra tests
Merge branch 'titan05' of https://github.com/thinkaurelius/titan into titan05
Interpreting string value as vertex label on g.addVertex(Object). Intermediate update of documentation.