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.
Merge pull request #325 from gdusbabek/400_on_long_frames

Handle long frames by return 400.
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
Merge pull request #327 from gdusbabek/migration_fix_date

Fix integer overflow problem in the date computation.
remove errant imports.
Merge pull request #326 from gdusbabek/migrate_rate_limit

add a coarse rate-limiting feature to migrations
Switch from reflection to using mockito Whitebox per gdusbabek
Merge pull request #328 from dlobue/fix_locator_cache

fix locator cache
SynchronousQueue has better performance than LinkedBlockingQueue