Mutable ObjectVisitationHelper with a cleaner method TryVisit = IsVisited + Visit
As it turned out none of the recursive algorithms except ApplyChanges has actually needed the advanced visitation strategy (if there exist two ways to reach a certain graph node, then both ones must be walked completely). So with the mutable ObjectVisitationHelper each graph node is visited exactly once.
This should also improve the performance.
Revealed during code review: `TrackableExtensions.GetChanges` must inspect M-M relationships recursively as it used to be prior to 0143728
Simplify unit test `Accept_Changes_Should_Mark_Employee_With_Territories_Unchanged`