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. 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.