Check that the feed exists in the database before each scheduled refresh.

This guards against a possible error in which a feed is deleted but for some reason its updates are not unscheduled. With this change, next time a scheduled update runs this will be detected and future updates will be unscheduled.

This is not an error I'm currently experiencing (as far as I know the code that unschedules updates when a feed is delete works fine), but it's a good idea to write code defensively.
FeedClient.fetch now receives as argument a Feed instance, not a Feed ID.

This is in line with recent changes. The general rule is, it is the controllers' job to instance models from the IDs passed as request parameters. The rest of the methods invoked expect full model instances.