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.
You don't need to use the `documents_hash` variable in this method