Move initial workflow population to scheduler
This matches the handling of workflow callbacks, and means that we defer the work of populating the workflow's initial graph of work requests until we know that the workflow itself is runnable.
Part of #386 (closed).