Add Groups::FindParentOfBlock() function.
BeginDetaching() and FinishedDeatching() functions.
Detach(g, p) sets g's parent to null.
More asserts.
Cleanup Groups::Merge().
Add EdgeIterator.
Add Groups::RemoveEdgeFromGroup().
Root groups now store edge connections directly.
Groups no longer contain fake edge groups.
Many other changes.