SpecSchedule.Next: use time.Truncate instead of time.Date

Add tests to verify nightly jobs work as expected.
This fixes an infinite loop when clock falls back for DST