ENH: Move private constant and method to private header

Move the UpdateHeaderWithMinMaxMean method to the cxx file and move
the GenericUtilities header to the src directory as
itkMRCImageIOPrivate. The min_max_element method are kept private
this way. Additional style tweaks and header include reduction were
done.

Change-Id: I8ca007f87cac67b05e5554b656ff479c36a21255
COMP: Allow single precision space definition

The spacing and physical space definitions for
ITK images is hardcoded as double precision.  This patch
allows for an advanced compiler option to be provided
that rebuilds the entire toolkit so that physical
space is represented by single precision floating
point numbers.

The primary reason for this is to test for performance
issues that arise due to implicit conversion between
double and float.

Change-Id: Ic65146abc390240765682b0f74df60e55061fd2c
COMP: Fix warnings and missing include

This patch addresses the following warning:
itkBinShrinkImageFilter.hxx:117:54: warning: declaration of
'OffsetValueType' shadows a global declaration

by removing the unused type.

And addresses compilation errors related to:
itkBinShrinkImageFilter.hxx(157): error C2039: 'multiplies' : is not a
member of 'std'

by including the functional header.

Additionally the initial accumulate is cast to size_t to ensure
correct implicit template parameters to accumulate.

Change-Id: I69c5b78b96c2801ce3ffc85c271158464a1a7476
BUG: Fix Valrgrind detected delete mismatch

This patch addresses the following Valgrind detected defect:
 ==10520== Mismatched free() / delete / delete []

Change-Id: Id831307cfb31d8bb39315f97d6df4620916fc1d7
ENH: improve coverage for SetShrinkFactor methods

Change-Id: I51f41d3ae2da54c3cdafed75090f3580ec04730d
Merge topic 'SinglePrecisionSpacingCapabilities'

bc929a9 COMP: Allow single precision space definition
Merge topic 'BinShrinkCoverage'

3e3bce4 ENH: improve coverage for SetShrinkFactor methods
Merge topic 'BinShrinkFixValgrind'

67c8324 BUG: Fix Valrgrind detected delete mismatch
Merge topic 'BinShrinkFixComps'

b5f0fa1 COMP: Fix warnings and missing include
STYLE: running uncrustify and manual fixups

Change-Id: I663acc21e8a09700300eb33ae8b7778e41b3e279
ENH: Moving MRCImageIO out of review

Removing line which registers ImageIOs for factories in side Review
module.

Change-Id: I2ccaf0602f00ce096299477960009babc2050ae5
Merge topic 'MRCImageIOOutReview'

c00935c ENH: Moving MRCImageIO out of review
134f8b2 STYLE: running uncrustify and manual fixups
6e491ae ENH: Move private constant and method to private header
COMP: Fix gcc_xml segfault due to structure alignment

This patch addressed the following compilation issue with WrapITK for
gcc_xml:
itkSize.h:53: internal compiler error: Segmentation fault
Please submit a full bug report,

The way the alignment attribute is currently used in ITK is known to
cause segmentation faults in older gcc compilers. There are try
compiles for this. However, this is also happening for gcc_xml in this
case. This patch is really a hack. WrapITK does not need to know about
these private data structures, so we use the processor to guard the
problematic section for gcc_xml.

Change-Id: Ic24342ac7dc45e6687390c0eee760d081be2cc2a
Merge topic 'WrapITKAddBinShrink'

6914038 COMP: Fix gcc_xml segfault due to structure alignment