Adds ajax submission for form

Form was being submitted normally, this re-adds the ajax functionality
to the form.
Adds server-side map data formatting

Map data is aggregated on the server and only the needed fields are
exposed for consumption by the map. Also, headers map results header.
Changes id to _id

To make referenced fields more consistent, references to _id is changed
to id for entries in the data.
Adds reverse geocoding of map centerpoint

When zooming the map centerpoint is reverse geocoded to retrieve the
current address for a search.
Fixes #197 - url encodes ajax query values

Performing an AJAX search was not URL encoding the keyword and
location. This commit fixes that.
Adds search center location marker

Adds marker to indicate center point of search.
Changes map data generating loop to use reduce instead of map

To consolidate the loop and rejecting the values that are null, this
commit implements reduce instead of map for generating the json data
hash used by the search results map in the view.
Fixes failing tests

The tests that search for an erroneous location were setting the orgs
variable in the controller equal to null, which was causing the map
data loop to raise an exception. This encloses that loop in an if
statement so it only runs when their are results from the query.