refactor geocoder cache

@paulproteus
this PR is not necessary now that I'm not caching reverse geocoded values, but thought I'd put this in because the refactor does make the code more clean. up to you! pluuuuus test passed W00t!