BUG: Fix BinShrinkImageFilter for different input/output image types.

The input iterator needs to be defined over the correct type.

Change-Id: I4a47762b4cfdfbea56b144ed576064122c65eb18
BUG: Fix overflows computing size of read tiff image

When multiplying the height and width of an tiff image (32-bits),
at least one element should be converted to size_t to help prevent
numeric overflow.

This change enables reading of larger RGB and large 2D image, that
were previously truncated when reading. This does not address
potential buffer overflow or resource limits which could occur.

Change-Id: I192370606677c8dc1a903c67c2a0701026256d5a
ENH: Add new GetTypes() and GetTypesAsList() methods to the template class

This allows to know what types are wrapped for a class. This is useful because you don't
have to go and look in the .wrap file, and we currently don't build documentation for the wrappings.
The GetTypesAsList() is a more general method which could prove useful if somebody needs the raw sorted list.

This method could be extended to display more details and informations, like the list of available methods in the class.

I also removed unused sys imports and the unused has_key method.

Usage example:

>>> import itk
>>> itk.Image.GetTypes()
<itkTemplate itk::Image>
Options:
  [<itkCType double>, 2]
  [<itkCType double>, 3]
  [<itkCType float>, 2]
  [<itkCType float>, 3]
  [<itkCType signed short>, 2]
  [<itkCType signed short>, 3]
  [<itkCType unsigned char>, 2]
  [<itkCType unsigned char>, 3]
  [<itkCType unsigned long>, 2]
  [<itkCType unsigned long>, 3]
  [<class 'itkCovariantVectorPython.itkCovariantVectorF2'>, 2]
  [<class 'itkCovariantVectorPython.itkCovariantVectorF3'>, 3]
  [<class 'itkFixedArrayPython.itkFixedArrayF2'>, 2]
  [<class 'itkFixedArrayPython.itkFixedArrayF3'>, 3]
  [<class 'itkOffsetPython.itkOffset2'>, 2]
  [<class 'itkOffsetPython.itkOffset3'>, 3]
  [<class 'itkRGBAPixelPython.itkRGBAPixelUC'>, 2]
  [<class 'itkRGBAPixelPython.itkRGBAPixelUC'>, 3]
  [<class 'itkRGBPixelPython.itkRGBPixelUC'>, 2]
  [<class 'itkRGBPixelPython.itkRGBPixelUC'>, 3]
  [<class 'itkSparseFieldFourthOrderLevelSetImageFilterPython.itkNormalBandNodeIF2'>, 2]
  [<class 'itkSparseFieldFourthOrderLevelSetImageFilterPython.itkNormalBandNodeIF3'>, 3]
  [<class 'itkSymmetricSecondRankTensorPython.itkSymmetricSecondRankTensorD2'>, 2]
  [<class 'itkSymmetricSecondRankTensorPython.itkSymmetricSecondRankTensorD3'>, 3]
  [<class 'itkVectorPython.itkVectorD2'>, 2]
  [<class 'itkVectorPython.itkVectorD2'>, 3]
  [<class 'itkVectorPython.itkVectorD3'>, 3]
  [<class 'itkVectorPython.itkVectorD3'>, 4]
  [<class 'itkVectorPython.itkVectorF2'>, 2]
  [<class 'itkVectorPython.itkVectorF3'>, 3]
  [<class 'vcl_complexPython.vcl_complexF'>, 2]
  [<class 'vcl_complexPython.vcl_complexF'>, 3]

Change-Id: I4322c588bbc605dd802ddc7215a56f6777d31c8b
Merge topic 'BinShrinkOutput_release'

0aa9686e BUG: Fix BinShrinkImageFilter for different input/output image types.
Merge topic 'InfoWrap'

75469ffe ENH: Add new GetTypes() and GetTypesAsList() methods to the template class
Merge topic 'FixBigTiffOverflowRead'

6791b4a3 BUG: Fix overflows computing size of read tiff image
Merge branch 'BinShrinkOutput_release' into release

Change-Id: If7645c3e24f5d93058262b9f0d9c24ab192ca17c
Merge branch 'release'

Change-Id: I1c486abaca982ccf9713e20656fbfca2b8e67061
BUG: GDCMImageIO was not working properly when m_KeepOriginalUID is false

When m_KeepOriginalUID was false, useful gdcm warning shows up for
StudyInstanceUID (0x0020|0x000d), SeriesInstanceUID (0x0020|0x000e) and
FrameOfReferenceInstanceUID (0x0020|0x0052), stating that these values were
already set and would not be updated. It is fixed by using
gdcm::DataSet::Replace() instead of gdcm::DataSet::Insert().

Change-Id: Id30772a9870533d10bce15bb556dc9c3e1e780c3
Merge topic 'GDCMImageIOErrorNotKeepingOriginalUID_release'

2f86b89d BUG: GDCMImageIO was not working properly when m_KeepOriginalUID is false