MODE-1818 Repository configuration can now dictate garbage collection options.

The garbage collection options can now be specified in the repository
configuration. Each repository registers its own garbage collection
processes with a named thread pool, and these processes are stopped
when the repository is shut down.
MODE-1818 Added garbage collection properties to AS7 schema and subsystem

Added the garbage collection configuration attributes to ModeShape's
XSD schema and subsystem, and added a unit test that verifies the
attributes are read correctly.
MODE-1818 Minor corrections per code review
MODE-1824 Added test case and fix for QOM join
MODE-1825 Added testcase and fix for handling QOM queries where both the columnName and propertyName are null.
MODE-1821 - Fixed the inconsistency which can occur when creating SNS simultaneously from multiple threads. The solution was to add an additional method to JcrSession#PreSave and which is executed only after Infinispan locks are obtained on the changed nodes.
MODE-1821 Improved the recent changes to perform post-lock validation

Made several improvements to the recent changes that add validation
of SNS *after* locks were obtained.