Always return active filters in facets

Also, always return active filters first in facets.  eg, if a filter is
applied for organisation "HMRC", the facet value for the organisation
field will always contain "HMRC" first.

It's possible in various ways for the search UI to have filters which
are applied but whose values are not represented in the results of the
query.  This change makes these filters come back in the facet values,
so that they get displayed in the UI and can be removed by the user.

Fixes https://www.pivotaltracker.com/story/show/69915644
Refactor the presented_facets method

Was getting very cluttered; split it into several component parts.
Whitespace.
Merge pull request #228 from alphagov/always_return_active_filters_in_facets

Always return active filters in facets

https://www.pivotaltracker.com/story/show/69915644