Refactor search controller to simplify parameters

Previously, the search controller took a location parameter and then
turned it into a lat/lng and either a postcode or address parameter
and then redirected back to itself with this new info. A hangover from
when the initial view was a separate controller action and then we
merged them together.

This commit simplifies that so that the search view always takes a
location parameter and then does the calculation internally without
redirecting to get the parameters it needs to actually do a search.
This makes the urls simpler and the controller clearer.

A side effect of this is that we can remove the purl js library
because we don't need to parse the url anymore, which simplifies the
map javascript.

I've also fixed a bug where a new search from the list view would not
display in list view as the display wasn't passed through to the
controller from the new search widget.

Closes #78