Alter valid_end and valid_start to use DateTime

- in some silly scenarios, a schedule may come into effect on a date at a certain time
- this allows that to happen

Closes #70
3 jobs for 70-valid-dates-datetime in 1 minute and 41 seconds (queued for 1 second)