Improve Geolocation UX

This pull request makes two changes:

  * Adds a loading spinner while the GPS location is being requested and the user's current location is being geocoded
  * Changes the mechanics of the geocoding request to support both success and error callbacks

This is mostly just fixing a personal annoyance I had when I was using the application; the geolocation request was taking a long time and I wasn't sure if there was an error or the GPS was still trying to determine my location.