[#7] Implement Spy::Schedules, retrieving Sidekiq Scheduled data.

This provides data equivalent to the `Sidekiq::Web` Scheduled page. It
uses `Sidekiq::ScheduledSet` with no limit. Because of this, the current
implementation could experience issues if there are a large number of
schedules.

There is no sort applied to the list, so it should reflect any
underlying order returned from Sidekiq.

The name 'Schedules' rather than 'Scheduled' is used for internal
consistency, despite it being named the latter in Sidekiq. I might live
to regret my choice.

This is implemented in a similar way to `Spy::Retries`.
[#7] Define Display::Panels::Schedules, equivalent to Scheduled page.

Using the data provided by `Spy::Schedules`, define panel
`Display::Panels::Schedules`. This displays a list of scheduled jobs.
Note that it is necessary to hook into `#refresh` and call
`Spy::Schedules#refresh`. The list is defined to be precisely as many
table rows long as the panel minus the header row.

Mount a schedules panel in `Display::Screen` in the `:main` panel,
binding to keypress `
`. Add a Schedules entry to the `:header` panel
menu, displayed as 'SCHEDULED' (to match `Sidekiq::Web`).
Merge branch 'panel-scheduled'