Update geocode endpoint

  - Transform response coordinates to spherical mercator (the CRS of the
    web map)

  - Return multiple matches with scores so that the client can show
    a picker.

  - Create a wrapped view function so that functionality can be
    tested without the Django client.
Add UI connecting boundary search to geocoder

The boundary search box does double duty. If the value typed into the
box does not match any of the autocomplete values, we assume that it
is an address/location to be geocoded.

The two major chunks of this feature are

  - Detecting what is an autocomple and what it not. This is handled
    by Bacon stream processing that puts any unmatched value in an
    attribute on the <input> tag, which can be picked up by the
    geocoder controller

  - Pan and zoom the map if the geocoder returns one result or show
    a popover to disambiguate if the geocoder returns multiple results.
    There is some cool bacon stream processing here, too, so that the
    same pan/zoom handler is used in both situations.