MODE-1649 Added support for using programmatically-created Infinispan components

Changed LocalEnvironment to enable easily using Infinispan cache and cache containers
instances. Also added more documentation.
MODE-1613- Fixed caching of node paths (via parentReferenceToSelf) in the case of SNS. The solution was to check that the parent of the actual cached children reference isn't stale.
MODE-1563 Corrected compiler warnings and JavaDoc errors.
MODE-1646 REST client can now be used to talk to 3.x and 2.x servers

Because of the improvements/changes in the RESTful API in 3.0, using the REST client required using slightly
different URLs to talk to 3.x vs 2.x servers. The reason is that the REST client still uses the older REST API,
and the URL for the older API is different on 3.x servers.

Although it was not feasible to transparently and automatically discover the correct URL given the actual server
the client talks to, it was possible to add a new method that does this. There is now a "validate(Server):Server"
method on the IRestClient interface, and this method can be used to validate a Server instance with a normal
URL (that is, excluding the API version qualifier) based upon the actual server. The method returns a new
Server instance that should be used for all subsequent communications.

Note that clients that don't take advantage of this new method can still work, as long as the URL ends with "/v1" for
3.x servers.
MODE-1648 Added several Maven BOMs for ModeShape clients

This commit adds several Maven BOMs that make it much easier for Maven-based applications and libraries
to add the necessary ModeShape dependencies as a consistent stack with the correct versions of ModeShape
components and third-party dependencies.

Unfortunately, I couldn't find a way to make the existing parent POM file extend or use these BOMs.
Therefore, the parent BOM and existing parent POM both contain properties defining the versions of all
dependencies. (Note that the BOMs should not extend the JBoss Parent POM, which our existing parent POM
does. This is the major source of contention.) However, if may be able to figure out how to share the
property definitions in a way that is transparent to clients that use the BOMs.

Note that these BOMs were tested by updating the example modules in the 'modeshape-examples' Git repository
and the module in the 'modeshape-performance' Git repository that uses the latest (post-Beta4) release of
ModeShape.
MODE-1619 - Added a new method on the IRestClient interface, which checks the existence of a file on the server
Also, fixed the log4j appender pattern for some of the test modules.
MODE-1648 Corrected the BOM POM's reference to the BOM parent.
MODE-1619 Corrected JavaDoc warnings/errors
MODE-1629 Added tests to confirm existing behavior is correct re property definitions & defaults

Added a few tests to confirm that ModeShape's existing behavior regarding property definitions with default
values is correct: if the property definition has a default value but is not autocreated, the default value
is ignored; if the property definition has a default value and is autocreated, then the property is created
immediately using the default value.
MODE-1629 Changed the Teiid CNDs so that all property definitions with defaults are autocreated

This better represents what the Teiid sequencer is expecting, and is compatible with the JCR behavior.
MODE-1629 Changed the Teiid CNDs so that all property definitions with defaults are autocreated

This better represents what the Teiid sequencer is expecting, and is compatible with the JCR behavior.
Also changed the ModelSequencerTest to verify that the properties with the default values are indeed created.
MODE-1611 Added tests to confirm that ISCHILDNODE is behaving correctly
MODE-1654 Corrected the binding of the 'mode:depth' column to the values

The tuple collector inserts the actual values for the pseudo-columns from the actual node, but was incorrectly
binding the local name to the 'mode:depth' result set column. This was corrected to fix the issue.
MODE-1648 Minor change to BOM module description
MODE-1653 - Fixed the formatting of the Name properties returned by the REST service
MODE-1646 Changed the Server object in the REST client to know whether it's validated

The REST client's Server object was changed to know about the validated and original URLs, and
whether it was validated. This will make it easier for applications using the client to know
more about the Server's state and make it easier to track the original URL.
MODE-1655 Corrected namespace registration logic

Added code that validates supplied namespace prefixes to see if they are valid JCR names. Also added a test case.
MODE-1656 Repositories are always calling Environment.shutdown

It is now the responsibility of the Environment implementations to know what to do when shutdown is called.
The JBoss AS service does nothing, but the LocalEnvironment does attempt to shutdown all containers (though
there is now a way to set a LocalEnvironment instance as being "shared", which means shutdown does nothing).
The LocalEnvironment class can be extended for custom logic.

All unit and integration tests pass with these changes.
MODE-1658 Added restart tests to verify content is persisted to disk
MODE-1658 Improved how test files are accessed