Re-order to better convey dependencies.

Note that due to $*SCHEDULER this isn't a hard dependency yet, but it
could need to become one.
Use schedule_with_catch in Promise.
Add schedule_in, schedule_every to scheduler.