Improvements And Additions To Configuration Include Functionality

Added a lot of new functionality to the way include files are handled in configuration files.

* Include files are now recursively processed; they can now be included in other include files rather than just at the top level.

* Include files are written out now when the configuration is saved; previously, only the top-level file would be written out.

* Functionality has been added to allow snippets, or incomplete XML trees, to be included. This is specified by setting the "snippet" attribute on the include file to "true".

In addition to this, functionality has been added to allow replacing existing XML nodes in configurations files; previously, you could only add new configuration nodes.