check parameters

In order to catch calling errors in tests while developing instead of
once per week/month/year when the cron is actually executed, check time
arguments here.

Also provide tests for those checks.

@Bonko or @mlafeldt Please take a look. Some poor colleagues just ran into this kind of issue one or two weeks ago.