Make search results auto update

- Move rendering of search results from erb to mustache.
- Create a ResultSetPresenter and a SearchResultPresenter and move functions for displaying things from the helpers into these presenters
- Test everything

This PR makes no functional changes and is a prerequisite for the next piece of work which is adding the JavaScript to auto update the page as the user changes the facet values.

Sorry this is massive and it's a friday.
This test doesn't assert what is described. It's only checking that `describe_filters_in_sentence` is called, not that `selected_facets_hash` is given as an argument.

From a quick grep of the codebase it doesn't look like we're actually using `selected_facets_hash` anywhere — can we get rid of it?