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 for 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 indexing and hides the
mechanism by which we index away from the client code.
TO-REVERT: Remove legacy delayed job worker code

Now that the sidekiq-powered jobs have been deployed and the remaining
delayed jobs have been performed, we can remove these legacy jobs from
the codebase.
TO REBASE TO END - Cleanup delayed_job testing helpers

These are no longer required in the tests as sidekiq jobs are
performed inline during test mode. Also updates the around filter
for without-delay/not-quite-as-fake-search in our scenarios to work
with sidekiq.