Port the Google reverse geocoding feature forward

This ports the Google reverse geocoded in the `reverse-geocode` branch forward to the current trunk.