Initial implementation of InMemoryNodeModel.

Currently, only the functionality related to the NodeHandler interface has been
implemented.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1563456 13f79535-47bb-0310-9956-ffa450edef68
Reworked NodeAddData class.

Made the class immutable. It now has a generic parameter for the type of nodes
supported.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1563457 13f79535-47bb-0310-9956-ffa450edef68
Added QueryResult class.

This class represents the results of a query() operation of an
ExpressionEngine. Results can be both nodes and attributes.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1563458 13f79535-47bb-0310-9956-ffa450edef68
Reworked ExpressionEngine interface.

An expression engine can now deal with nodes of different types; a NodeHandler
for the type desired has to be passed when invoking a method. A few methods
have been added for generating specific kinds of keys.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1563459 13f79535-47bb-0310-9956-ffa450edef68
Reworked DefaultExpressionEngine to handle arbitrary nodes.

DefaultExpressionEngine was adapted to the modified ExpressionEngine interface.
It now uses a passed in NodeHandler to access the properties of the nodes it
has to process.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1563460 13f79535-47bb-0310-9956-ffa450edef68
Reverted the last commits.

They were not intended to go into trunk.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1563466 13f79535-47bb-0310-9956-ffa450edef68
Merged changes from trunk into branch.

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