A simple ''cron'' loop. Used for running commands according to a given schedule.
Given a schedule of commands, run them when their time is due.
Only one command is run at a time. If several commands could be started at a specific
moment, then we take the one with the earliest potential start time. If any command throws
an error in the
Build monad then the whole loop does.