Added "failing_since" datetime attribute to the Feed model and database table.

Not yet implemented: if a feed's updates are currently failing, this attribute will store the time of the first failed update attempt. As soon as an update is successful, this attribute will be set to null.
The failing_since attribute of the Feed model is updated:

- when a scheduled update runs successfully, it's set to nil
- when a scheduled update fails for the first time, it's set to the current date and time
- when a scheduled update fails for the second or more time successively, the attribute value is not changed.

This means that the meaning of the failing_since attribute is:

- if it's nil, the feed is not currently failing (at least the last update was successful)
- if it's not nil, feed updates have been failing since the datetime saved in the attribute
Added "available" attribute to Feed model and database table.

This attribute is required and defaults to true.

Not yet implemented: only feeds with available=true will have scheduled updates. When a feed's scheduled updates have been failing for a certain period of time (configured in application.rb), the feed will be marked as unavailable (feed.available = false) and no more updates will be attempted.

This is intended for the case in which a feed is no longer available at its fetch_url (e.g. the server disappears, the feed URL changes, the DNS domain expires...), so that Feedbunch does periodically try to fetch from a non-existing server, forever.
Added database-level default value for the fetch_interval_secs Feed attribute.

Also added presence validation for the attribute at the model level.

This is a bit redundant, because the model was already enforcing a default value in its before_validation callback, but it's always good to be explicit.
Fixed bug in Feed#available default value: when setting it to false, the model was resetting it to true.

This was because the rails .blank? helper was used to detect if the attribute had no value. The way it works, it detects a false boolean value as blank, which triggered the code that sets the default true value.

The fix is to use the .nil? helper instead.

Also the FactoryGirl factory for the Feed model gives an available value of true.
When a feed's updates have been failing for too long (configurable in application.rb, 1 week by default) the feed is marked as unavailable and no further scheduled updates are attempted.
When automatically fixing the schedule, any feeds marked as unavailable are ignored (i.e. they do not have their update schedule added back to Resque).
Since dcae408ba4aec8edf932d5231b9de8113075a8df the Feed#fetch_interval_secs attribute cannot be nil, because of database constraints.

Therefore FixSchedulesJob does not need to set a default value for this attribute, because it always has a value.