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.
> How does mockito allow you to access a private attribute? I thought you'd
have to use the reflection api?

It uses reflection, but does so in a way you so that you do not have to
deal with all the messy exceptions. Look for usages of
`Whitebox.getInternalState()` for examples of how to do this.