Added a NotImplemented method to Unknown.
SetDistToRootAndSetPointedTosExpectedDistToRoot no longer sets the dist to root.  Made SetDistToRoot return TRUE on root dist change.  Removed ClearDistToRoot.
Objects added to DistToRoot calculator and checked for cyclic dependencies before addition.  There is still a bug in CanFindRootThroughValidPath or IsDistToRootValid.  Touched objects are added to an array on DistCalculatorParameters.
Setting clean commit point.