Fix Scheduler to not eagerly execute Runnables enqueued while executing ...

...other Runnables.  fixes #919 
I think this should be in a `finally` block in case the runnable throws.