!str #16069 disallows using one Keyed sink/source ambiguously (many times)

This can / should wait for Patrik's move-all-the-things PR.
Refs #16069 
So in the `checkAddOrReplaceSourceSinkPrecondition` we know that anything that isn't an `Undefined*` must already exist in the graph, so we check that it does. It's used when we connect flows into a graph, and it shouldn't create any new nodes. Any issues that we might get as in reuse of keyed* should have been noticed when the edges where merged into the graph in the first place.