Bugfix: database sync task won't be updated if 'at' changes in database

 * split #test_edited_tasks_switch_to_new_settings into 3 individual
   methods to check that name, frequency and at changes for task in
   database each lead to clockwork event for task being updated.

 * modify ManagerWithDatabaseTasks#db_task_has_changed to check if
   task's `at` value has changed

 * over-ride At in ManagerWithDatabaseTasks to add attr_readers
   for min, hour and wday, and give it custom equality (==) when each
   of these three instance variables match. This was needed so we can
   compare At.parse([new_at_value]) with the event's existing `@at`
   value