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