ENH: Code changes found during code review.
STYLE: Hash index values are unsigned

Hash index values should be unsigned to avoid
integer overrun.
BUG:  Memory leaks plugged up.

BRAINSCut was leaking memory all over the place using up over 30GB of memory for applying the 6GB
RF tree due to the massive data redundancies.

Also worked on const correctness and cleaning up the code overall.
BUG: Many many memory leaks in BRAINSCut

In very instance where memory is dynamically allocated,
one must ensure that it is also deleted.  Made stack
variables where possible (allowing auto cleanup), and
deleted the dynamic data in other cases.
ENH: Add a separate HashKeyTest.
ENH: Use .h5 as preferred HDF5 file extension.
BUG: Fix project names.

There were two projects named project(BRAINSConstellationDetector)
and this caused a dependancy issue that prevented test data from
being downloaded properly.

Also changed name for project(BRAINSCommonLibProject)
to project(BRAINSCommonLib) in order to be consistent with
other naming conventions.
BUG: Missing data md5 reference file in TestData directory.
BUG: Fixed syntax error in baw_exp.py
STYLE: Make style compatible with cmake

The cmake convensions dictate the style of
cmake directives as being lower case, and
end of blocks should not have conditional
clause in them.

\#!/bin/bash

\#\#- Remove CMake-language block-end command arguments
\#\#-
\#\#- Ancient versions of CMake required else(), endif(), and similar
block
\#\#- termination commands to have arguments matching the command starting
the
\#\#- block.  This is no longer the preferred style.
\#\#-
\#\#- NOTE: MUST USE GNU compliant version of sed
\#\#- Run the following shell code:

for c in else endif endforeach endfunction endmacro endwhile; do
    echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
    done >convert.sed \
      && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in'
      '*CMakeLists.txt' \
           | xargs -0 gsed -i -f convert.sed \
           && rm convert.sed

\#!/bin/bash

\#Convert CMake-language commands to lower case

\#Ancient CMake versions required upper-case commands.  Later command
\#names became case-insensitive.  Now the preferred style is lower-case.

\#Run the following shell code:
\#\# NOTE: MUST USE GNU compliant version of sed
cmake --help-command-list \
| grep -v "cmake version" \
| while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]'
    '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
      done >convert.sed \
      && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in'
      '*CMakeLists.txt' \
         | xargs -0 gsed -i -f convert.sed \
        && rm convert.sed
COMP: Reduce the number of exernal data fetch targets

Make one BRAINSTools project rather than many small projects.
COMP: Simplify building complexity

This is a heavy handed approach to resolving
a dependancy issue that prevented data
from being downloaded during the build
for BRAINSConstellationDetector.  The
dependancies were very complicated, so
I removed nearly all of the sub-projects
so that there are fewer relationships to
track down.
COMP: Remove conditional running of tests.
COMP: Clean up compilation cruft.
BUG: Fixed test for PosteriorToContinuousClass test
COMP: Attempt ordering change for build debugging.
COMP: Turn off BRAINSCut failures, fix ImageCalculatorFailures.
COMP: Clean up build process.
COMP: Remove setting of default CMake variable project_name
ENH: Clean up build scripts for clarity.