Remove unneccessary DJ call

This code uses sidekiq and not delayed job
Move search indexing from delayed job to sidekiq

As well as creating a new sidekiq-compatible workers to perform search
indexing and deleting of whitehall models, this also introduces a new
interface that hides the background-jobiness of the actions, i.e.
the Whitehall::SearchIndex.add and delete methods. This reduces the
number of integration points for search index actions and hides the
search index mechanisms away from the client code.

Note that the existing delayed job worker code is left in place. This
is so that any existing jobs that may be queued can still be run. The
code can be removed once the backlog of jobs has been worked off.
Update ForcePublicationAttempt to use sidekiq

Once again, the existing job is left in place for deletion later once
the backlog of delayed jobs have completed.
Cleanup delayed_job testing helpers

These are no longer required in the tests as all jobs now use sidekiq.
Sidekiq jobs are worked off inline during the test unit tests.

This also bumps the sidekiq gem so that we can take advantage of its
new test helpers to control whether jobs are performed inline or not
for specific tests and cucumber scenarios.
Handle missing records when indexing for search

There is nothing to index if the instance does not exist, therefore
the job should silently succeed.
Merge pull request #1399 from alphagov/migrate-away-from-delayed-job

Convert remaining delayed jobs to use sidekiq