Splitting HBase into modules for 0.94 and 0.96

This commit compiles and passes tests against HBase 0.94.16 + Hadoop
1.0.4 and against HBase 0.96.1.1-hadoop2 + Hadoop 2.2.0.

Several things still need work: titan-dist's dependency on titan-hbase
is no longer complete and effective since that's just a pom, some of
the hadoop dependencies need to be made optional and/or provided/test
scoped, probably some other stuff...
revert the version
Backport hbase-delete change from f0d41c
Mark hadoop-core optional for HBase 0.94.x

Marking both the hbase and hadoop-core dependencies as optional to
make users redeclare the dependencies with their chosen
distribution/version.
Testing HBase 0.96 hadoop1/2 support

HBase 0.96 + hadoop1 is possibly broken pending
https://issues.apache.org/jira/browse/HBASE-10494

HBase 0.96 + hadoop2 compiles and tests against Hadoop 2.2.0.  This is
the default build configuration of the titan-hbase-096 module.
Disable HBase version defaults check in testing
Add Netty dependency to HBase 0.96-hadoop1

Fixes a ClassNotFoundException during HBase minicluster startup in
testing of the HBase 0.96 + hadoop1 build
Update HBase shell scripts for 0.96

I initiall copied over 0.94's shell scripts to the 0.96 test
environment, but there have been a lot of changes between 0.94 ->
0.96, so I pulled the scripts in 0.96.1.1-hadoop1's tarball
distribution.  I patched bin/hbase's classpath cache logic to be
compatible with our maven build environment.  A bin/hbase patch is
included in this commit as a convenience.