This replaces the ChildrenGetter inside the DominatorTree with GraphTraits over a GraphDiff object, an object which encapsulated the view of the previous CFG. This also simplifies the extentions in clang which use DominatorTree, as GraphDiff also filters nullptrs. Re-land a90374988e4eb8c50d91e11f4e61cdbd5debb235 after moving CFGDiff.h to Support. Differential Revision: https://reviews.llvm.org/D77341