HBase Storage

* zipkin.traces
* zipkin.duration
* zipkin.idxService
* zipkin.idxServiceSpanName

* zipkin.idxServiceAnnotation
* zipkin.topAnnotations
* zipkin.dependencies
*zipkin.mappings
* zipkin.idGen

I created a non-blocking futures
based version of HBase's HTable. This HBaseTable uses a thread pool to execute
the calls to HBase.

Currently it's using HBase 0.94.9 and hadoop 1

Construction

Whenever possible I am using a fixed length row key. That necessitates
a set id for any variable length strings that can be on the row
key. This mapping is created using the mapping table and the id gen
table. The idGen table holds the last idGenerated.

* There can be up to Long.MaxValue services
* Each service can have Long.MaxValue spanNames and annotations

The mapping table holds the mapping of Array[Byte] to id and the reverse.

* counters, counters, more counters
* Allow this to build against current hbase trunk

Author: @elliottneilclark
Fixes #274
URL: https://github.com/twitter/zipkin/pull/274