Move facet rendering into mustache

So that we can update the facets on the frontend if the search string
changes.

- Add the filter fields to the ajax being sent back to the client.
- Use a presenter for the filter fields
- Move the results list into a partial so that it can be updated
  independantly of the filter boxes
- Add some tests for the otherwise untested unified search presenter
Auto open or close the filter box

So that it is obvious if you are currently filtering.
Update only results list unless search term change

So that the filter box doesn't change when you change the filter box.
Otherwise the filter box can collapse when you remove all the checkbox
options.
Merge pull request #597 from alphagov/search-ui-improvements

Search UI improvements