Add a cron-like scheduler (feature/jm-scheduler)

@doismellburning review and merge please, or I'll do it myself :wink: