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.