Initial investigation
Retry and clear the region server cache on failure

This adds a basic retry mechanism to handle the case
where one of the hadoop nodes stops responding.  It
should solve the problem where bagheera consumers exit
with an error message like:

2013-04-10 09:24:10,036 ERROR com.mozilla.bagheera.consumer.KafkaConsumer: IO error while storing to data sink
org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 1 action: NotServingRegionException: 1 time, servers with issues: node9.mango.metrics.scl3.mozilla.com:60020,
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatch(HConnectionManager.java:1485)
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchOfPuts(HConnectionManager.java:1499)
        at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:859)
        at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:711)
        at org.apache.hadoop.hbase.client.HTable.put(HTable.java:698)
        at com.mozilla.bagheera.sink.HBaseSink.flush(HBaseSink.java:115)
        at com.mozilla.bagheera.sink.HBaseSink.store(HBaseSink.java:143)
        at com.mozilla.bagheera.consumer.KafkaConsumer$1.call(KafkaConsumer.java:158)
        at com.mozilla.bagheera.consumer.KafkaConsumer$1.call(KafkaConsumer.java:1)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Add logging message when retrying HBase flush.
Add a log message in the success case for testing.
Add a bunch more log messages
Add the region location for each Put
Add a test of the HBase Sink Retry using Mockito
Fix a warning in the test by adding the List type
Clean up whitespace, annotations, and unused vars.
Detect, log, and reject excessively large data.

There is a max size for HBase Put values, exceeding it causes
  java.lang.IllegalArgumentException: KeyValue size too large
We detect it here to allow processing to continue.

Example of a relevant exception:
2013-03-11 12:35:38,994 ERROR com.mozilla.bagheera.consumer.KafkaConsumer: Exception occured in thread:
    java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: KeyValue size too large
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
        at java.util.concurrent.FutureTask.get(FutureTask.java:91)
        at com.mozilla.bagheera.consumer.KafkaConsumer.poll(KafkaConsumer.java:205)
        at com.mozilla.bagheera.consumer.KafkaHBaseConsumer.main(KafkaHBaseConsumer.java:81)
    Caused by: java.lang.IllegalArgumentException: KeyValue size too large
        at org.apache.hadoop.hbase.client.HTable.validatePut(HTable.java:896)
        at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:704)
        at org.apache.hadoop.hbase.client.HTable.put(HTable.java:698)
        at com.mozilla.bagheera.sink.HBaseSink.flush(HBaseSink.java:115)
        at com.mozilla.bagheera.sink.HBaseSink.store(HBaseSink.java:143)
        at com.mozilla.bagheera.consumer.KafkaConsumer$1.call(KafkaConsumer.java:158)
        at com.mozilla.bagheera.consumer.KafkaConsumer$1.call(KafkaConsumer.java:1)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Merge pull request #9 from mozilla-metrics/keyvalue_size_too_large

handling Keyvalue size too large exception
Merge branch 'master' into add_hbase_sink_retry

Conflicts:
	src/main/java/com/mozilla/bagheera/sink/HBaseSink.java
Merge pull request #10 from mozilla-metrics/add_hbase_sink_retry

Add hbase sink retry
modularizing bagheera code to separate http & consumer parts