[AS7-462] Move command line usage gen out of process-controller

Add command line argument parsing to PatchGenerator
[AS7-462] Patching subsystem

* add tests for patch tasks related to modules
[AS7-462] encode module.xml with UTF-8 charset
[AS7-462] Patching system

* make sure the *patch config* and *patch* schemas are in sync. Both
  accepts multiple <applies-to-version> element for <one-off> and
  <cumulative> patch
* raise an exception if a one-off patch has defined a resulting-version
* refactor PatchBuilder to have a more fluent API
* refactor ModuleTaskTestCase to use directly the PatchingTaskRunner
* add test for patching task related to file content
* simplify the FileRemoveTask by copying the backup and hashing the
  target in separate steps
[AS7-462] split assertions and test helper methods
[AS7-462] Close the streamwriter to ensure it flushes to the file

Implement generating a patch from specified content
[AS7-462] fix byte arrays equality test
[AS7-462] add test for misc update patch task
[AS7-462] Patching service

* add tests for updating user-modified misc content
  for different content verification policies
[AS7-462] Patching service

* add tests for removing user-modified misc content
  for different content verification policies
[AS7-462] allow rollback of multiple patches at once
[AS7-462] Don't allow multiple applies-to-versions for a CP

Fix maxOccurs
[AS7-462] add separate bundle patching task
[AS7-462] fix ContentModification fixtures
add test for cumulative patches
add test to rollback a CP
[AS7-462] Patching service

* when a patch is applied, persist in the patch *history* dir:
  - patch.xml - the applied patch config
  - rollback.xml - the patch to apply to rollback the applied patch
* test that rollback of a CP will also rollback one-off patches applied
  on top of the CP
* when a patch is rolled back, delete all resources associated to any
  patches also rolled back by the operation
* backup AS7 configuration directories when a patch is applied
* add test to apply and rollback a one-off patch
* restore configuration files when a patch is rolled back
[AS7-462] fix api changes
[AS7-462] split finish tasks for apply and rollback. Defer cleanup until we know the controller keeps the result
[AS7-462] Patching service

* add module-path runtime read-only attribute
* log the module path when the patch info service is started
* Fix rollback operation parameters
* Flag the server with reload-required if the rollback operation is
  successful
* prevent to apply/rollback a patch if such operation has already been
  done at runtime and the process has not been reloaded
* add org.jboss.modules to the patching module dependencies
  (required to run the patching.tool module as an app)
* add JBoss module org.jboss.as.patching.generator to run the patch
  generator tool
[AS7-462] throw an exception instead of returning the failed result
[AS7-462] make dependency on patching optional