Handle long frames by return 400.

Netty is weird in that in tries to create a message out of whatever is left in the buffer after I return the 400. Likely this is a problem of me not knowing how to do something right within netty, but I couldn't figure it out after a little searching.

We just squelch the empty message errors for now.
add a coarse rate-limiting feature to migrations
Fix integer overflow problem in the date computation.

Also, add a backoff + retry strategy for queries.
fix locator cache

We check a cache to see if we've written a locator to cassandra yet, but
aren't using the same key that we use to update the cache as we use to
check the cache. This causes us to write the locator to cassandra every
time.

By checking the cache for the string representation of the locator we
avoid writing locators to cassandra every time we see that metric.

Fix failing unit test

The testEnsureNumericMetricsDoNotEndUpInStringSpaces test is failing now
that the cache works because another test in
`AstyanaxReaderIntegrationTest` inserts a metric with the same name:
`long_metric`. We need to invalidate the locator cache to ensure that
this test, and similar ones in the future, do not fail.

fix tests without exposing unsafe call to insertedLocators.invalidateAll
remove errant imports.
Switch from reflection to using mockito Whitebox per gdusbabek