Start integration more deeply with existing work.

In particular, use TupleTableConfig and HTableConnector.

Also begin breaking out finer abstractions.  HBaseScheduable has
become HBaseComponent and serves as a root type for all storm
components that we'll write.

HBaseSpout layers the spout interface onto HBaseComponent.

ScanSpout is now an HBaseSpout.  It is now free from managing hbase
connections.

TupleTableConfig makes some unfortunate assumptions about the bindings
between tuple field names and hbase column family:qualifiers.  There
are no (non-reflection) interface-breaking changes here, but there
soon will be.
Rename TupleTableConfig -> HBaseComponentConfig.

If you're going to break an interface, go big.  Here's a hard-to-miss
rename.  Shortly after will be changes to tuple-to-column mappings.
Rename TridentConfig -> HBaseTridentConfig.

Start tightening security in HBaseComponentConfig, to see where we're
going to break the universe.
Start hoisting tuple-column binding logic into the config.

It'll probably have to be full duplex (tuple -> row & row -> tuple)
before we're done, but there's nothing wrong with that..
Attempt a pure refactoring of column binding impl.

Add a Binding bean which tracks storm tuple names in addition to
family/qualifier.  Use a single list of such bindings.

The previous addColumn implementation assumes string columns with the
field name as the qualifier, so delegate as such.

Replace nasty hash-walking loops with slightly simpler ones.  Force
derived class to use accessors.

Since I expect I just refactored the hottest code in the library, I'm
intentionally going to little effort to encapsulate/protect the data.
Please don't mutate return values.
Move old func out of ScanSpout.

HBaseComponent supplies a default declareOutputFields, is no longer
abstract.