Fixes #547 - geolocation button disabled state

Geolocation button still appeared clickable after an error. This commit
adds styles to override the hover state when the `disabled` attribute
is present on the button. It also performs some cleanup of the
geolocation-action script by:
- Formatting and adding additional code comments.
- Moving the geolocation button content to a variable.
- Moving the disable/enable content of the geolocation button to its
own functions.

It also adds the ability to re-run the geolocation check after an error
so the user can re-check for geolocation if they had a temporary
connection failure that prevented geolocation for the first check.