Remove abort rejection handler from ingest pipeline

We do not want to use the abort rejection handler on the batch writer.
This will discard writes if the incoming data starts to overwhelm the
batch writers, and we won't even be aware of it unless we look at the
logs.

We should use the default rejection handler which will still process the
data.
memoize computeShard

Part of calculating the md5sum is `MessageDigest.getInstance()`, which
is a blocking operation. Memoizing computeShard stops us from calling
this too often and is a massive speed up.
Merge pull request #332 from dlobue/memoize_computeshard

memoize computeShard
Merge pull request #333 from dlobue/remove_abort_rejectionhandler

Remove abort rejection handler from ingest pipeline
Merge pull request #334 from GeorgeJahad/master

Minor bug fixes
Do not include exception in log template

Do not include exception in log string template or the stacktrace will
be lost.
Include the range that rollup failed on

Include the range that rollup failed on so one can find the data in the
db for debugging purposes.
Catch on Exception instead of Throwable

`Throwable` has 2 subclasses: `Exception` and `Error`. According to the
java docs, quote:

    An Error is a subclass of Throwable that indicates serious problems
    that a reasonable application should not try to catch.

http://docs.oracle.com/javase/7/docs/api/java/lang/Error.html
Merge pull request #338 from dlobue/log_rollup_exception_stacktraces

Log rollup exception stacktraces
Fix failing rollups

Rollups are occasionally failing in prod because sometimes the var `o`
is an `Integer`, and we try to cast it to be a `Long`. Which fails
of course with a `ClassCastException` exception.

As just a couple lines above this bug `(Long) val` is created by turning
`o` into `Long` the correct way, I surmise this was a (freudian) typo.

NEEDS MORE LINT!
Merge pull request #339 from dlobue/dominic/fix_failing_rollups

Fix failing rollups
Add discoveryWriter to http ingestion processor chain
Merge pull request #266 from dlobue/index_metrics_from_http_ingest

Add discoveryWriter to http ingestion processor chain
Fix failing rollups

This is the same thing that was happening in the MinValue class:

Rollups are occasionally failing in prod because sometimes the var `o`
is an `Integer`, and we try to cast it to be a `Long`. Which fails
of course with a `ClassCastException` exception.

Same fix as in MinValue class: use `val` instead of `o`.
Add search to DiscoveryIO

* use ElasticIO.Result as SearchResult. It is generic enough.
* simple method in interface to return SearchResults.
* retool tests.
Build the query properly.
Merge pull request #342 from gdusbabek/esio_search

Search specification of for discovery interface.
Initial commit which adds HttpMetricsIndexHandler
Add the HttpMetricsIndexHandler
Use the correct class name in logger for metrics index handler