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.
Drop database default for role type.
Move setting of role type attributes into model.

This simplifies the controller significantly and makes the presenter only
responsible for creating the values for the select box. Also remove default
values from presenter.
Simplify form partial.

Remove `becomes` which changes the type of the passed-in Role.
Add url helper to return generic role admin path.
Fix test after role type changes.

Most breakages were due to the removal of `becomes` in the view: now we need to
specify the Role subclass specifically.
Move ministerial roles to end of options.
Fix unit and feature tests.
Get correct role_type value in accessor.

This removes the need for the helper.
Only allow safe Govspeak in SitewideSettings

This is the same validation used in Edition models and enforces a whitelist of supported elements.
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.