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
Switch from reflection to using mockito Whitebox per gdusbabek
Merge pull request #328 from dlobue/fix_locator_cache

fix locator cache