The ModeShape subsystem is now working pretty well, and can be configured via the 'standalone.xml' configuration file (the kit includes a 'standalone-modeshape.xml' file with a sample repository already configured) and/or configured and managed via the AS7 Command Line Interface (CLI) tool.
The latter required adding and registering OperationStepHandler implementations (e.g., RepositoryWriteAttributeHandler, SequencerWriteAttributeHandler, IndexStorageWriteAttributeHandler, and BinaryStorageWriteAttributeHandler) to make the model node attributes for the services be writable. Many of the attributes for the repository and sequencer services do not require restart, since they automatically and immediately update the configuration for the (running) repository. An AbstractRepositoryConfigurationWriteAttributeHandler class was created to centralize all this logic, and relies upon a new MappedAttributeDefinition interface was defined to supplement some of the attribute definitions with the path within the repository configuration's JSON document, allowing the abstract handler to generically update the repository configuration for any such attribute definition.
The kit installs several AS7 modules: several for ModeShape (as before this change), one for the Hibernate Search engine, and one for Lucene. This commit changes the HSearch and Lucene modules to use specific slots (other than "main") so that if the Hibernate Search team (or anyone else) produces more 'standard' modules, our modules will not interfere. (I worked with Sanne Grinovero and Scott Marlow on the module IDs, so technically if they define modules with the same IDs but with 'master', our slots will merge into modules.)
Additionally, prior to this commit there were a 'remove-*-binary-storage' operation for each 'add-*-binary-storage' operation, and a 'remove-*-index-storage' operation for each 'add-*-index-storage' operation. Now, the 'add-*' operations still exist, but there is only one 'remove-index-storage' operation that handles removing all index storage types, and one 'remove-binary-storage' operation that handles removing all binary storage types. This makes configuring the index and binary storage options much easier.
The resource filtering specified in the 'deploy/jbossas/pom.xml' was incorrect and has not been used since the AS7 kit was first created. The assembly now does the filtering, so this section in the POM is no longer needed.