+str #15946 Support flows without junctions in FlowGraph

* run simple flow with source/sink without any junctions in FlowGraph
* partial flow graph with undefined source/sink and flows, without junctions
* replace undefined source/sink with flow with source/sink
I think this source/sink tap/drain thing is confusing internally. Shouldn't we call the them `UndefinedSource/Sink`? Especially since you attach a Source/Sink now.