Prototype of FlowGraph

Early prototype for discussing the way forward.
Before we start with the DSL sugar I would like that we express the functionality in terms of something similar to the raw addEdge methods.
The traversal order is wrong here since this is not a DFS traversal. What these two nested folds (second at L398) does is doing separate DFS rounds sequentially on each starting vertex. This is not what we wanted, is this intentional?