Added script for generating a graphviz graph of a workflow.

It is still a bit primitive, but it should be useful for debugging now and for testing workflows in the future.

I still need to annotate the graph with information about whether jobs should run and such, but I want to refactor the dependency graph for that first.
Refactored the dependency graph.

It now is somewhat simpler and holds more information about dependencies. This has simplified the printing of workflows, but there is less annotation … that I can fix with a tiny bit more work in annotating the dependency graph in the next round of refactoring.