Cron emulation

Expand on @nicwaller's first pass to build a cron emulation and use it. Supersedes #1432