Change in rdoc description of a class.

The old description was for an old version of the class. Its purpose has since changed.
WIP: load a static schedule on resque restart which runs a job that periodically fixes feed update schedules.
Schedule auto-fixing now happens in its own job, the newly created FixSchedulesJob, instead of in UpdateFeedJob.
Added static schedule for the FixSchedulesJob job.
Simplified the setting of a schedule for updates of a feed.

Before this commit, the resque-scheduler "Resque.enqueue_in" method was used to enqueue an instance of ScheduleFeedUpdatesJob and delay its execution a random amount of time up to one hour. When ScheduleFeedUpdatesJob ran, it immediately enqueued an instance of UpdateFeedJob to update the feed, and it also set a new schedule so that UpdateFeedJob was executed for the feed every hour from that moment on. The intended behavior was that updates ran hourly for the feed, starting at a random time in the next hour (so that updates from different feeds were more or less evenly spread over a single hour period).

This was a bit convoluted, and had the drawback that delayed jobs (those passed to "enqueue_in") cannot be easily queried programmatically. This means that when fixing the schedule (adding missing feed update schedules) we couldn't detect feeds that had no scheduled update, but had a delayed instance of ScheduleFeedUpdatesJob; these feeds were in a correct state, because when ScheduleFeedUpdatesJob ran for them it would set a update schedule, and therefore had to be ignored by the schedule auto-fixing process. The fact that they cannot be easily detected complicates things.

The fix is to remove ScheduleFeedUpdatesJob completely. Now when updates for a feed are scheduled (by invoking UpdateFeedJob.schedule_feed_updates), a new schedule is set that runs UpdateFeedJob every hour for the feed; the behavior of delaying a random amount of time the first run of the schedule is achieved by passing a "first_in" value between 0 and 60 minutes to the "every" option of the schedule configuration. This way feeds in a correct state always have a scheduled update, and feeds that need their schedule fixed do not have that schedule. Delayed jobs (jobs passed to Resque.enqueue_in) are no longer used.

For more information about passing the "every" and "first_in" options to Resque.set_schedule see resque-schedule and rufus-sheduler (the library resque-scheduler relies on for scheduling) docs:

https://github.com/resque/resque-scheduler
https://github.com/jmettraux/rufus-scheduler