Add unf for unicode normalization

This is needed to normalise the query received from the user, so that we
can reliably remove excess whitespace and compare queries.
Add unified search endpoint.

Adds a /unified_search.json endpoint that will be used for the new
gov.uk search, returning one combined stream of results.

This uses a UnifiedSearchBuilder for constructing the elasticsearch
queries, a UnifiedSearchPresenter for formatting the result sets, and a
UnifiedSearcher for performing the search.