Bump Sidekiq to 2.13.0.

This version lets us pass more information when we've given up retrying a job,
so we can actually send out exception information, for example, in our
notifications.
Add a new worker to record failed jobs.

This currently just dumps out the job details to STDOUT; email
notification comes next.
Unify config use across Rake, workers and Sinatra.

We have three ways of running code from Rummager:

  * From the Rakefile, for test runs and index manipulation jobs
  * From the `sidekiq` script, through `bootstrap_worker.rb`
  * From a Rack server, through `config.ru` and `app.rb`

It's a faff keeping the load paths and requirements in line across all
three of these, which isn't worth the purity of keeping the Sinatra code
out of the non-Sinatra environments.

As a side-effect, we can now remove an `any_instance` stubbing in the
integration test helper, since worker code now accesses the searcn
configuration through Sinatra settings like everything else.
Warn when adding a job to the failure queue.
Mail out details of failed jobs.

This code depends on an initialiser to set a `mailer` setting in
Sinatra's config, which handlers can then use to send out notification
emails, given a subject and a message body.
Log the Sidekiq ID when a job fails repeatedly.

So we can cross-reference from the job information dumped into the
notification email.
Merge pull request #133 from alphagov/failure-reporting

Report repeated submission failures