COMP: Linkage ITK_ABI_EXPORT to ITKCommon_EXPORT

This problem appeared when linking to two DLL's, each of
which were compiled with ITK's static libraries.
For example, MyTestProgram.exe links to MyLibrary1.dll and MyLibrary2.dll.

Both DLL's were exporting duplicate symbols of
itk::SmartPointerForwardReference< class itk::ProcessObject >

This was caused by ITK's data object class incorrectly using __declspec(dllexport)
 when it shouldn't have been used.

Looking at itkDataObject.cxx, it turns out that ITK_ABI_EXPORT was explicitly
used instead of ITKCommon_EXPORT (which is what SHOULD be used).

The line adding ITK_ABI_EXPORT was originally added to
itkDataObject.cxx I260c9af04b7cd4183f1a5104bfd0a9600d804587

When changing to ITKCommon_EXPORT (on line 46 as of 2013-03-29) and
recompiling ITK, I can now link to multiple DLL's which were compiled
with ITK static libraries.

Reported by Rob Toth at: https://issues.itk.org/jira/browse/ITK-3017

Change-Id: Id0095ef04ae052b06357a57c76f950395e7b1958
BUG: itk_tiff.h should not be in itkTIFFImageIO.h

"itk_tiff.h" should not be included in itkTIFFImageIO.h.
It conflicts with other tiff library. Instead it should
be put into itkTIFFImageIO.cxx.

According to "itk_tiff_mangle.h", no tiff headers should
be included in .h files in ITK due to namespace pollution.

Since no tiff header are required in ITK headers, then
also those tiff headers should not be installed by ITK,
this will avoid header conflicts with system level
tiff files.

Reported in: https://issues.itk.org/jira/browse/ITK-2988
by: Linqing Feng

Change-Id: Ib30faae6c4ed6acb1deb79e9cb91004066041fc8
COMP: Missing ProgressReporter header

This patch addresses the following compilation error seen on some
systems with WrapITK enabled:

/.../ITK/Modules/Filtering/LabelMap/include/itkChangeRegionLabelMapFilter.hxx:85:5:
error: 'ProgressReporter' was not declared in this scope

Change-Id: Iefd03cd6cdfdbd55c225410dd6d9d3ced3c30a9e
Merge topic 'ChangeRegionLableMapMissingProgress'

41fe267 COMP: Missing ProgressReporter header
Merge topic 'ITK-3017'

6484c9b COMP: Linkage ITK_ABI_EXPORT to ITKCommon_EXPORT
ENH:  Permitting access to shrinking per dimension.

In the ImageRegistrationMethod class, the image is
subsampled using the itkShrinkImageFilter.  Currently
the only option is to shrink each dimension by a
constant factor which is problematic for extremely
anisotropic data.  This change opens up to the user
the possibility of specifying the shrink factor per
dimension per level.

Change-Id: I2f5af406a82be8cf97c2011534bc2aa8e289929e
Merge topic 'ShrinkPerDimension'

e432983 ENH:  Permitting access to shrinking per dimension.
Google double-conversion (reduced)

This corresponds to commit hash

04cae7a8d5ef3d62ceffb03cdc3d38f258457a52

from Google repository

https://code.google.com/p/double-conversion/

Change-Id: I68735b5450bd62e6a8d709475dce9934253d4536
COMP: Merge of DoubleConversion upstream changes.

The update procedure for DoubleConversion is described in
.../DoubleConversion/src/UpdateDoubleConversionFromGoogle.sh

The procedure is based on Brad Kings work, described here:
Modules/ThirdParty/VNL/src/README-ITK.txt

Change-Id: I0c8edc8501cb4a8469a26c2a41df4301457ac977
COMP: Suppress linker warning from fftw external project

This is yet another attempt to suppress the following warnings on the
dashboard:

Change-Id: Ibb4ad1d1a19768630bd849969d7222362271ecfa
libtool: install: warning: relinking `libfftw3f_threads.la'
libtool: install: warning: relinking `libfftw3_threads.la'
Merge topic 'DoubleConversion-update'

d466045 COMP: Merge of DoubleConversion upstream changes.
0447797 Google double-conversion (reduced)
BUG: Valgrind error.

The valgrind error that Bill pointed out was
a result of incomplete changes to the code when
I added the ability to specify the shrink factors
per dimension.  The error is definitely one of
the valgrind culprits.

Change-Id: I7e7b19cd25f13c0911b992cf0b5fcf4f8fdb9a25
Merge topic 'itk_tiff_header_polution'

9a539a7 BUG: itk_tiff.h should not be in itkTIFFImageIO.h
COMP: Add missing ImageRegionIterator header in test

Change-Id: Ia9f93b0933fec65f6a0bfb00af679cbadb0bc40f
Merge topic 'FixMissingImageRegionInteratorInclude'

8e86b53 COMP: Add missing ImageRegionIterator header in test
Merge topic 'SyNTestValgrind'

4124933 BUG: Valgrind error.
COMP: Add DoubleConversion merge from upstream documentation

DoubleConversion is a Google project, managed at this repository
https://code.google.com/p/double-conversion/

The txt files describe the procedure to merge upstream changes.
It's based on the work done for VNL; see
Modules/ThirdParty/VNL/src/README-ITK.txt

Change-Id: Ic1e958cfab2e7f1b057609a47946208540e6acd3
BUG: Don't allocate empty names in Get I/O Names methods

Pre-allocate the vector of names, and don't initialize as an array of
empty elements. Previously, the first half of the array of names was
empty strings.

Change-Id: Ic25989f2c41147e2f8eaa3cfe3128707c6b73715
COMP: Bumped up minimum required CMake version

- Minimum version for any system is 2.8.4

- Minimum version for Windows is 2.8.8

- Minimum version for systems without /dev/urandom is 2.8.5

Change-Id: Ide6335732ef1218b953b5eb8ad59e40765b681f0
Merge topic 'AddDoubleConversionUpstreamMergeDocs'

d1e8446 COMP: Add DoubleConversion merge from upstream documentation