Handle changes to start dates of recurring to-dos

 * `IncidenceDateTime::load(Todo::Ptr)` did not cause
   `startDateChanged` to be emitted when the start date changed, so
   the recurrence rule editor did not recalculate its menus; see
   bug 430651.
 * If the start date's year changes, the recurrence rule menus must be
   recalculated, because the number of days in February differs
   between leap years and non-leap years.
 * In comparison to `load(Event::Ptr)`, `load(ToDo::Ptr)` did not make
   connections to `updateStartTime` in several circumstances, so
   changing the start date did not cause matching changes to the end
   date.

BUG: 430651

FIXED-IN: 5.16.1
1 job for !10 with startdate in 5 minutes and 21 seconds (queued for 494 minutes and 11 seconds)
merge request