Changed NodeCombiner class to operate on ImmutableNode objects.

The API of the class was changed to combine hierarchies of immutable node
objects.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/branches/immutableNodes@1587006 13f79535-47bb-0310-9956-ffa450edef68
Reworked OverrideCombiner to operate on ImmutableNode objects.

The class and its test class were adapted to be compatible with the changes
on the NodeCombinder base class.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/branches/immutableNodes@1587007 13f79535-47bb-0310-9956-ffa450edef68
Added a replaceRoot() method to InMemoryNodeModel.

This method is similar to setRoot(); however, it tries to keep the information
about tracked nodes. This method is going to be used by the adapted
implementation of CombinedConfiguration.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/branches/immutableNodes@1587008 13f79535-47bb-0310-9956-ffa450edef68
Reworked MergeCombiner to operate on ImmutableNode objects.

The class and its test class were adapted to be compatible with the changes
on the NodeCombinder base class.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/branches/immutableNodes@1587009 13f79535-47bb-0310-9956-ffa450edef68