We currently have syntax in Rust for marking procedures as scheduled, but the host can't actually invoke them. Fix up the host's scheduler infrastructure so that scheduling a procedure results in it being run at approximately the appropriate time, then add a test of this functionality.