Add a Cron Scheduler

This includes code from #58, but will be rebased once that lands.