[geolocation] Fixes for Bugs 1022630, 1027489, and 1022637

If a user changes their location storage preferences, we have to re-geocode. You're right that if they unselect region/city, you don't need to re-geocode, but if they select either of those when they were unselected before, we need reverse_geocode otherwise there's no way to determin what region/city they're in. The piece of data we have for that is lat/lng. I don't really want to add a special conditional just for savecity/region = False and then another for True... it adds complication to the code for no good reason imo.