In the Membrane sub-project it will become relevant (for METAMODEL-1159)
to be able to make copies of the "default" registry, but with additional
tenant-specific factories, too. So this change makes it easier for
Membrane to copy a DataContextFactoryRegistry.

- Refactored contructing String representation of byte arrays.
- Have the HBaseRowInsertionBuilder no longer extend the AbstractRowInsertionBuilder, because it does things structurally different in some parts.

- Made HBaseColumn private, even though in the future, I would like to see something like a WideColumn interface to use for Wide Column stores.
- Refactored the HBaseCreateTableBuilder so you don't have to pass the column families to the constructor, but it can determine them based on the columns set on it using the "withColumn" method.
- Refactored the HBaseDeletionBuilder so it uses the "whereItems" instead of the custom "setKey" method to determine what rows it deletes.
- Refactored the HBaseRowInsertionBuilder so it works with "normal" MetaModel columns and it will construct HBaseColumn for internal usage only.
- Removed the no longer needed, not part of the interface createTable method from HBaseUpdateCallback
- Move some test cases to a new HBaseClientTest class, because they specifically test the HBaseClient class
- Updated some test in accordance with the refactorings mentioned above.

- Reverted newly introduced constructor for AbstractRowInsertionBuilder.
- Refactored HBaseUpdateCallback so it more strictly adheres to the MetaModel UpdateCallback interface. It is no longer public.
- Removed some of the overabundant constructors for HBaseColumn and changed the ID column's column type to ColumnType.BINARY.
- Refactored the HBaseRowInsertionBuilder, so it can be instantiated without the columns for the update. Move all possible "value" methods there, because it can't determine based on the Table which columns are available for updating (because Big Table doesn't work in that manner), you can use the "value" method to dynamically add HBase columns for inserting.
- Updated unit tests accordingly.

HBaseCreateTableBuilder.java:
- On line 81 make the parameters of the setColumnFamilies method final.
HBaseRow.java:
- Revert remmoval of empty line (62).
HBaseRowDeletionBuilder.java:
- The _dataContext field member has to be made final
- On line 58 make the key par

Refactored test so they no longer extends TestCase (and as such are no longer JUnit 3, but JUnit 4 tests) and they use "assumeTrue" to check if they should run or not. This reduces a lot of boiler plate code, because now we don't need to call the "isConfigured" method in each test method.

Also added some extra null check in the code which cleans up after test, because some nullpointer exceptions were thrown when the tests were skipped.

- Where missing added final qualifiers to method parameters.
- Moved static methods around to more logic locations. From my point of view the HBaseColumn class is not a Helper class to provide those.
- Changed the signature of the HBaseRowInsertionBuilder constructor, so it take a List of HBaseColumn object as a parameter, this makes it possible to remove a few of the Helper methods which cast List<HBaseColumn> to List<Column> and vice versa.
- Refactored the logic which looks up the id column in an array or list.
- Removed the "public" getHBaseColumnsInternal() method from HBaseTable, which essentially was only invoked in combination with a static getColumnFamilies method. Instead I added a getColumnFamilies() method to the HBaseTable class which return the column families for that HBase table.

Notice with the builders that I tried to follow the setup used in other projects, but this often didn't work for HBase's column-families.
The FindQualifiersDriver works, but only from command line within a VM which runs Hadoop + HBase. It shows HBase working in combination with MapReduce. The class will be improved so it's method can be called by other classes.
All other classes have been tested by connecting it to our DataCleaner. I'll make more Unit Tests next.
hbase/pom.xml changes: With 'hbase-client' I needed to remove 2 exclusion. I've added 'hbase-server' dependency.