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.
That reminds me, before we materialize there should be a regularization step on the graph data itself, for example a series:

    in ~> f1 ~> merge ~> f2 ~> out

can be transformed to:

    in ~> f1 ++ f2 ~> out

if the merge was not connected to anything else. Alternative could be to throw an exception because such cases are usually bugs, but this depends on how reusable the graph should be (i.e. if the merge serves as a hook-in point, then it is obviously not a bug to have only one input to it).