- remove extra period in comment
- implement the EC2Config object to store data related to the <ec2config>
  element in the config.xml file
- implement unit test
- update triggers
- add check to verify that no unsupported arguments are passed in the
  initialization data for the EC2 config data
- update unit test
- implement VMachine object to store data related to the <machine>
  element in the config.xml file
- implement unit tests
- update triggers
- style clean up
  ~ added missing method header comment block
- implement OEMConfig object to store data related to the <oemconfig>
  element in the config.xml file
- implement unit tests
- update triggers
- fix up comment of data structure
- remove superfluous de-reference and assignment of initialization hash
- implement PXEDeploy object to store data related to the <pxedeploy>
  element and it's children in the config.xml file
- implement unit tests
- update triggers
- generate an error and return failure rather than an info message when
  a method is called incorrectly.
- implement Split object to store data related to the <split>
  element and it's children in the config.xml file
- implement unit tests
- update triggers
- implement Systemdisk object to store data related to the <systemdisk>
  element and it's children in the config.xml file
- implement unit tests
- update triggers
- improve consistency checking of data for NIC configuration
- fix issue when adding NIC configuration and non exists
  ~ previous code would have generated a Perl run time error, now we
    generate the proper new ID
- update unit tests to test new consistency checking code
- implement Type object to store data related to the <type> element
  in the config.xml file
- implement unit tests
- update triggers
- add missing triggers for VMachine object
- eliminate code duplication in the set methods for the boolean values
  ~ refactor into the __setBoolean
- implement __checkBools and __isValidBool
  ~ allows simplification of ctor and eliminates duplicate code
  ~ with ctor simplification the code is now crtic level 2 clean
- add unit test to verify code of the additional boolean checks
- fix the assignment of default values
  ~ previously default values were only assigned if an initialization
    hash was defined, effectively ignoring defaults in other cases
- add unit tests to verify the default settings
- implement Preference object to store data related to the <preferences>
  element in the config.xml file
- implement unit tests
- update triggers
- there may be multiple licenses to show, thus the showlicense value
  cannot be singular
  ~ turn value into array ref
  ~ adjust getter and setter methods to handle array
  ~ update unit test
  ~ add addShowLic method to support adding new license text to existing
    data
- allow "types" as a data entry in the initialization hash
  ~ this is needed as there is a "types" data entry in the storage hash
    of the XML data structure and we want to allow the XML object to create
    a PreferenceData object by simply passing part of it's internal data
    structure to the constructor
- process the <preferences> element adding data to imageConfig data struct
  ~ do not yet process <type> or children of <type>
- integrate the XMLPreferenceData object into the XML
- update XML unit test to verify <preferences> data processing
- rename direct accessors to <preferences> data with _legacy
  ~ getBootTheme               -> getBootTheme_legacy
  ~ getRPMCheckSignatures      -> getRPMCheckSignatures_legacy
  ~ getRPMExcludeDocs          -> getRPMExcludeDocs_legacy
  ~ getRPMForce                -> getRPMForce_legacy
  ~ getImageDefaultDestination -> getImageDefaultDestination_legacy
  ~ getDefaultPrebuiltDir      -> getDefaultPrebuiltDir_legacy
  ~ getImageDefaultRoot        -> getImageDefaultRoot_legacy
  ~ getPackageManager          -> getPackageManager_legacy
  ~ getLicenseNames            -> getLicenseNames_legacy
- update all client code of the renamed methods to use _legacy methods
- add a "size" member to the TypeData object to store the system size value
- support ec2config, machine, oemconfig, pxedeploy, split, and systemdisk
  data entries in the initialization hash
  ~ this allows initialization of the object directly from the XML data
    structure. All these data entries are not processed.
- update the unit tests to verify the functionality of the size member
  related accessors
- make the "image" entry in the initialization structure mandatory
  ~ is a mandatory attribute of <type>
- add unit test to verify the mandatory status of "image"
- integrate the TypeData object into the XML object
  ~ implement setBuildType method on the XML object
  ~ implement getImageType method on the XML object
  ~ implement getConfiguredTypeNames method on the XML object
  ~ implement __genTypeHash method on the XML object
- implement unit tests for new methods
- fix up the preferences processing to populate the type data in the
  internal data structure
- rename methods to _legacy that return data now held in the TypeData object
  ~ getImageTypeAndAttributes -> getImageTypeAndAttributes_legacy
  ~ getEditBootConfig -> getEditBootConfig_legacy
- fix up client code to use the new (_legacy) names
- integrate the EC2ConfigData class into the XML processing
  ~ implement new __genEC2ConfigHash to process <ec2config>
  ~ rename getEc2Config to getEc2Config_legacy
  ~ implement new getEC2Config
- update unit tests
- update client code to use _legacy method