Wire in Sidekiq worker for scheduled publishing
Unschedule dequeues sidekiq job
WIP get tests green again
Cleanup old scheduled publishing code

Note that jobs will have to be queued for any already scheduled
editions, otherwise they will not get published.
Upgrade sidekiq gem

Latest gem gives more insight and controls for dead jobs via the monitor
interface. Also has better error handling compatibility with things
like Airbrake.

Because of a change in the organisation of code in the gem, we now need
to require the file that defines Sidekiq::ScheduledSet.
Add test coverage around scheduled publishing

This was not previously covered by any cucumber scenarios
Use a separate queue for scheduled publishing jobs.

This queue gets a high priority to ensure scheduled publishing jobs are
dealt with sooner rather than later.
Configure sidekiq error handling

Sidekiq 3 removed automatic error handling so we explicitly set it up
here.
Helper methods for checking scheduled jobs

Useful for debugging the current state of the queued jobs.
Prevent sidekiq tests stomping on real queue

For those tests where we actually need to hit redis for real, we
configure sidekiq to use a separate test namespace, otherwise we'll
stomp over development mode jobs.
Rake task to queue missing jobs.
Scope scheduled publishing jobs correctly

We currently only schedule these jobs, but that might not always be the
case.
Enhance health check monitoring

The healthcheck payload now includes data for a specific check on the
health of the scheduled publishing job queue. We can use this in our
nagios alerts to be pre-warned when the number of queued jobs differs
from the number of scheduled editions.
Merge pull request #1605 from alphagov/sidekiq-scheduled-publishing

Use Sidekiq for scheduled publishing