Add unused pending ack buffer.

Change signature of `HTableConnector#put`.
Lazy create HTable and move acking into HTableConnector.
Fix a bug revealed by 'mvn clean'.
Add forgotten test.
Move another test.
Move more tests.
Refactor some commonality to fixture.
Rename `collector` to `collector1`.

This is in preparation to test multiple collectors.
Move another test.
Add test that batches multiple Collector's Puts.
Add tests for implicit flush acking Puts across multiple collectors.
Properly stub out initial conditions of writeBuffer.
Move flushing logic into HTableConnector.

Also, extract Flusher and ThreadFlusher to top-level.
Make `getConnector` and `closeHBaseConnection` protected.
Make `HTableConnector` thread-local and session-oriented.

The `HBaseComponentConfig` now has `equals` and `hashCode` methods
because we are about to use it as a Map key.
Rename `addUser` to `open` and `closeUser` to `close`.

Inlined previous implementation of `close` and re-added `Closeable`
interface to `HTableConnector`.
At least at Topology submission time, we *do* in fact need to be able
to create more than one HBaseComponent per thread.