schedule: use dateutil.relativedelta for duration handling.  Added unit tests.
Merge remote-tracking branch 'github/master'