Keep dtStart valid when moving a todo

The Todo view lets the user "move" a todo by changing its due date-time.
If the todo has a start date-time, it allowed dtDue to move to a time
earlier than dtStart, which is disallowed by RFC 5545.  This patch
adjusts dtStart if necessary to make the todo valid.
2 jobs for !63 with keep-dtStart-legal in 53 seconds (queued for 2 seconds)
latest merge request