Factored out the workflow scheduling and workflow watching.

These are now two discrete components, WorkflowScheduler and
WorkflowWatcher. Also removed coupling between WorkflowDataModelFactory
and command-line options of the WorkflowLauncher to accomplish this.
Continuing work on inventory of workflow engine-specific methods.