Use GraphTraits in the implementation of the GraphDiff's own GraphTraits
so GraphDiff can be used across all graph types that provide
GraphTraits.
Also use partial template specializations to make the traits a bit more
compact.
(I wonder if the special handling of inverted graphs can be avoided - it
adds more variations to this code than might be ideal - what's to stop
GraphDiff from not knowing anything about inversion and only using the
Inverse<T> traits to create inverses instead?)
Now that the two classes are merged, could this be called CFGViewChildren?