more responsive enter key on map search. added 'locate me' button.

Lots of UX improvements including
- pressing the Enter key fires off a request that automatically takes the first result once responses are loaded
- new ajax responses abort old ajax responses
- 'locate me' button complete with custom icon
- a fix for 1022620 "Change map zoom setting based on available information (/user/edit page)" 
- removed redundant jumptoGeocode() function
- moved init code block inside reverseGeocode() to INIT section
- improved INIT logic when no coordinates found (runs a search with all available text)
- tons of cleanups & a few more code comments

relevant bugs:
https://bugzilla.mozilla.org/show_bug.cgi?id=1015334
https://bugzilla.mozilla.org/show_bug.cgi?id=1022620
Based on looking how you rewrote this, doesn't this run a search and bring up the search UI on the map? That's not how this should work -- this case pretty much only happens when a migrated profile with only country set and no lat/lng hits "edit profile", and in that case we should jump to the first result because we are querying on the verbatim mapbox country name anyway. In fact, I think we can use mapbox_id for this search because the "broken" IDs that don't query properly are only cities and regions.