Forgot to remove this earlier.
Make reporter write to local storage until the report is finalized.
Make schedule a frozen set.
Add event to ProcessScheduler which tells when scheduling is stopped.
When workflow is stopped, finalize report.
Write lock file containing host of the workflow to shared storage.
Inject process scheduler into task scheduler.
A bit of logging and error checking.
Let gwf-local inject dependencies into the TaskScheduler.

This includes the environment, which is now obtained through the
get_environment() function. It automatically decides which environment
to return.

This commit also introduces the Event type which is used by Tasks to
emit events when a file transfer is started, succeeds or fails. Thus,
Workflow is now completely free of reporting and environment code.
Use the new Event type in ProcessScheduler.
Move dependency checking into separate function.
Use correct way to remove stuff from a set.
Naming.
Unnessecary assignment.
Remove unused EVENT_NAMES list.
Write stdout and stderr to individual files on local storage.
Move stdout and stderr to shared storage when a task has completed.
Add GWF_DEBUG environment variable.
Don't create tasks directory.
If GWF_DEBUG is set, show debug logging.