[AS7-462] basic patching infrastructure
[AS7-462] introduce boot module
[AS7-462] add patching model resource
[AS7-462] add bundles directory
Patch generation analysis of version diff

Create the actual patch file following difference analysis
Cleanup metadata classes
Fill out the patch.xml xsd
add xml parsing
Add missing attribute to xsd
cleanup module loader
persist more information for rollback
refactor patching attributes

* use PrimitiveListAttributeDefinition's Builder to create a valid model
  type for PATCHES
* use SimpleAttributeDefinitionBuilder to create the VERSION and
  CUMULATIVE attributes instead of extending SimpleAttributeDefinition
fix patching model

* flag the patching resource attributes as storage=runtime since
  they rely on the PatchInfoService to read their values
* moved attribute and operations registration to PatchResourceDefinition
  extension methods
[AS7-462] Patching system

* add test to compare input XML with parsed+marshalled XML
* fix XML parsing and marshalling
* remove utils duplicated methods for hex string <-> byte[] conversion
* fix reading the hashes from the XML by converting the string to a
  byte[]
* do not write hashes if they are empty
Integrate patch gen with main metadata
Add a patching config file
add offline patch tool
[AS7-462] Patching system

* marshall directory attribute for misc-content types
* add test for one-off patches
* make sure that cumulative patch accepts only 1 applies-to-version
* add show-history operation
* store the timestamp at which a patch has been applied
fix rebase issues
Move command line usage gen out of process-controller
Add command line argument parsing to PatchGenerator