refactor: introduce `DiffLeftToRight` and `DiffRightToLeft` nodes (#5386)
Replace `Diff` nodes that compute both diffs at the same time and the
specialized edges that extract one of the fields from the result of the
diff node with separate `DiffLeftToRight` and `DiffRightToLeft` nodes
and `ProjectedDataSinkDependency` edges.
It can be simplifed even further back to a single `Diff` node type but
unidirectional and using the new abstractions (it just requires rewiring
the query graphs a little bit more), which can be done in a follow up
PR.
Part of ORM-907