*Builder framework improvements

- improve the *Builder framework
  + rename the ImageBuilder class to ImageBuilderBase to indicate
    base class status of the implementation
  + rename methods according to our newly adopted naming convention
  + add checksum creation capabilities to the ImageBuilderBase class
  + fixing the naming now allows the implementation to be level 2 clean
- add method to execute images.sh explicitly to the Image class
  + the image class will transition to only represent the unpacked
    image. The new methods executes images.sh in the unpacked image tree
  + fixup the destructor to avoid "uninitialized" messages from
    Perl if object creation fails
- improve the container build
  + run images.sh file
  + create a checksum for the container file
- add the new naming convention to the developer documentation
- fix up the pre-commit hook script to deal with file removal or
  renames
  + when moving/renaming or renaming a file, git still presents the
    old file name as "changed" previously this would break the code
    checking the modified files. Compile errors, registration errors,
    and perlcritic errors would be generated
- add entry to container configuration file indicating device handling
  + this is lxc version dependent and kiwi does not know the host
    where the container is deployed, thus we cannot add the setting to
    the configuration without guard
- create unit tests for the ImageBuilderBase class
- create a rudimentary unit test for the Image class