MODE-2250 Fixed the handling of negative (-1) depths for the REST service when retrieving items.

Conflicts:
	web/modeshape-web-jcr-rest-war/src/test/java/org/modeshape/web/jcr/rest/ModeShapeRestServiceTest.java
MODE-2252 Fixed the paging mechanism for writable connectors which attempt to add more children than the size of the current page.

Conflicts:
	modeshape-jcr/src/main/java/org/modeshape/jcr/spi/federation/Pageable.java
	modeshape-jcr/src/test/java/org/modeshape/connector/filesystem/FileSystemConnectorTest.java
MODE-2254 Changed the JsonSidecarExtraPropertiesStore to avoid trying to interpret string properties as dates by default and also fixed a potential StringIndexOutOfBounds exception when converting ISO 8601 strings to dates.

Conflicts:
	modeshape-jcr/src/test/java/org/modeshape/connector/filesystem/FileSystemConnectorTest.java
MODE-2259 Fixed the WF/EAP subsystem so that services are correctly deployed in domain mode.
MODE-2259 Fixed the WebApp handlers.
MODE-2258 Fixed the URL encoder/decoder code to handle non reserved, non ASCII characters.
MODE-2261 Fixed the REST service to handle multiple query selectors and in addition fixed the query engine's handling of the [jcr:score] property when this appears in multiple selectors.
MODE-2267 Fixed the problem that [jcr:name] and [mode:localName] were switched in the indexes.
MODE-2268 Changed the ChangeSet implementation to expose the `sessionId` together with the `processId` and fixed the behavior of non-local event listeners.
MODE-2271 Removed use of regex in NameValueFactory to improve performance

After replacing the regular expressions with logic that looks for specific characters patterns,
creating names from strings is just over 50% faster (based upon testing the method 2M times).
MODE-2253- Updated backup & restore to explicitly suspend/resume any existing user transactions plus a couple of tests (unit & integration) around backup/restore within transactions.
MODE-2243 Fixed various WebDAV issues: XML encoding of custom property values, not returning reserved/non-used namespaces in the response & erroneous locking logic in DoPut.
MODE-2271 Updated & fixed the existing performance tests
MODE-2271 Added a new "lazy" child references implementation which will only load & cache a list of children the first time it's being asked for a child. The child references are loaded & cached in a Medium instance, which has been simplified as far retrieving SNS indexes for ChildReferences because the Medium can calculate up-front the entire SNS indexes and store them on the ChildReference instance.
MODE-2271 Fixed the logic which processed child reorderings and update the parent document, since the previous code would cause the same child (children) to be added over and over again in the parent CHILDREN array, if the parent allowed SNS. The problem wasn't visible to client because of the "hack" for https://issues.jboss.org/browse/MODE-2120.
MODE-2271 Removed LazyMedium and moved the logic of loading/parsing the child references into Medium
MODE-2276 Changed how child node definitions are found when adding a child

The new logic attempts to limit the need to find the number of existing children
with the same name as the proposed child, and it provides reusable components
that will improve efficiency when using a single session to adding lots of
children under the same parent.
MODE-2276 Replaced the old logic to find child node definitions with the new logic

All of the places where the old logic was being used, including in the session's
pre-save (validation), have been replaced with the newer logic added in the previous
commit. I extracted the `SiblingCounter` nested interface (added in the previous
commit) into a separate abstract class with static methods to create commonly-used
implementations. The old logic has been removed.

Conflicts:
	modeshape-jcr/src/main/java/org/modeshape/jcr/AbstractJcrNode.java
	modeshape-jcr/src/main/java/org/modeshape/jcr/JcrNodeType.java
	modeshape-jcr/src/main/java/org/modeshape/jcr/JcrSession.java
MODE-2276 Improved efficiency of methods to add/remove/check mixins

The methods no longer gets `ChildReferences` when the added/removed mixin has no
have child node definitions. And they also don't look at the properties if the mixin
has no property definitions.

Conflicts:
	modeshape-jcr/src/main/java/org/modeshape/jcr/AbstractJcrNode.java
MODE-2266 Added more performance tests for adding lots of nodes, both in deep and flat hierarchies.

Conflicts:
	modeshape-performance-tests/src/test/resources/config/infinispan-jdbc.xml
	modeshape-performance-tests/src/test/resources/config/infinispan-leveldb-jbosstxn.xml