Started rework of SubnodeConfiguration.

The class now uses a TrackedNodeModel to connect itself to a node in the
parent's model. Note that this changes the semantics of sub configurations:
This class is now always aware of changes in the model of its parent
configuration.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/branches/immutableNodes@1578580 13f79535-47bb-0310-9956-ffa450edef68
Changed the HierarchicalConfiguration interface regarding sub configurations.

The configurationAt() methods no longer return SubnodeConfiguration objects.
Rather, the type was made more general to HierarchicalConfiguration<T>.

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