+str #15977 add SourceFlow/SinkFlow

- sources must really be sources (the same for sinks), hence
  ProcessorFlow cannot implement either of these
- therefore they are just other names for FlowWithSource/Sink
- also fixed type-safety of FlowGraph’s edge labels
protected visibility befool me every time, but this is correct