refactor geocoder cache

@paulproteus
thought I'd put this in because the refactor does make the code more clean. up to you! pluuuuus test passed W00t! (python manage.py test base)