New class for cleaning document filter parameters

We have been getting random requests where filter parameters are being
specified as incorrect types. For example:

  {
    "action" => "index",
    "controller" => "publications",
    "departments" => "[\"department-of-energy-climate-change\"]",
    "locale" => "en",
    "page" => {
      "&#36;acunetix" => "1"
    },
    "publication_type" => "transparency-data"
  }

This new class returns a clean set of parameters that can be used by
the various search backends to filter documents.

It incorporates the correcting of array parameters that become
malformed when passed through the Facebook referrer from here:
https://github.com/alphagov/whitehall/blob/858d4d789cbdd0e9bd45e0cc47f70c0e54f7d331/app/controllers/application_controller.rb#L75
Wire in Whitehall::DocumentFilter::CleanedParams

Note that we no longer need to set a default page number as this is
now done in Whitehall::DocumentFilter::Filter.

This also removes the controller tests that were testing whether
unpermitted parameter exceptions are being raised as we no longer
raise them in production anyway.
Cleanup unused code.

All the behaviour of these methods is now encapsulated in
Whitehall::DocumentFilter::CleanedParams and in
`ConsultationController`s case, calling `clean_search_filter_params`
is redundant anyway. Note that there will be a slight change in
behaviour: previously, any scaler params that were incorrectly passed
in as an array (e.g. page: []) are now dropped instead of taking the
first value of the array as the actual value. We don't generate urls
like so it doesn't seem reasonable that we should guess as to what
they should be. As long as we don't blow up when they are passed in,
all should be good.