Allow extra options to be supplied for faceting

We want to allow callers to request that a set of example documents are
returned when faceting.  As a first step towards this, this commit
changes the facet parameters to accept a set of additional
comma-separated facet parameters; within each facet parameter, keys and
values are separated by colons.  For example:

    facet_organisations=10,examples:5,example_fields:link:title,example_scope:global

The parameters will actually be used by subsequent commits.
Add Index.msearch method for multiple searches

This accesses the _msearch endpoint in Elasticsearch to allow lots of
queries to be run concurrently.  Useful for doing lots of individual
lookups.
Replace unused iteration parameter name with _
Fetch facet example values when requested

Uses the msearch API to perform a query for examples for each facet
example in parallel.
Document the facet parameters and return type.

The documentation comment for the unified search API is getting a bit
long; I'd like to refactor it into an external piece of documentation at
some point, but would rather not make this PR any larger by trying to do
that right now.
Wrap and sort field lists

This will make it easier to manage them as things change, which we
expect to happen quite often.
Pull header line into a variable for readability
Merge pull request #260 from alphagov/facet_examples

Facet examples