ENH: Add Remote module group description to Doxygen.

Change-Id: Ic70edec4c163ae0f06a42c3aff6b8ea0f1c7c8be
STYLE: Refactor swig call and code cleanup

1) Removed the CSWIG_IGNORE_WARNINGS variable in ConfigureWrapping.cmake, it was used nowhere
2) add_definitions(-DSWIG_GLOBAL) in ConfigureWrapping was removed.
Following the git logs and the swig changelog (https://github.com/swig/swig/blob/master/CHANGES):
  - in 2003 the -DSWIG_GLOBAL flag was replaced by -runtime
  - in 2004, the -runtime flag was deprecated (from the logs):
    SWIG modules now exchange their pointer type information
    via the Guile interpreter.  It is no longer necessary to build a
    runtime library or to use -noruntime and -runtime etc.

3) In Python/CMakeLists.txt, remove the ITK_WRAP_PYTHON_AUTODOC variable, we are using swig 3.0.0
4) In Python/CMakeLists.txt, add a new itk_setup_swig_python macro. The macro sets up the call to
swig. The custom command was set up at two places (for the modules and submodules); it is better
if we have only one place for this.
5) Comments added to the flags passed to swig.
6) set(lib ${WRAPPER_LIBRARY_NAME}Python) was called twice
7) Removed some commented out code

8) Python/module_ext.i.in: removed #include <cstddef> workaround for old swig
9) SwigInterface/CMakeLists.txt: ensure we use swig 3.0.0
10) TypedefMacros.cmake: set(WRAPPER_LIBRARY_SWIG_INPUTS ) was called twice

Change-Id: Iae75e29c84957de474a2e61d56d25e9ee020c859
COMP: Fix for wrapping warnings (RealTimeClock and SimpleFastMutexLock)

The warnings on the dashboard:
ITKCommonBase.xml: warning(4): ITK type not wrapped, or currently not known: itk::RealTimeClock
itkFFTWGlobalConfiguration.xml: warning(4): ITK type not wrapped, or currently not known: itk::SimpleFastMutexLock

Change-Id: If1d1fa54264aae0614c74d5e46706d2ac15df5c0
STYLE: Remove old Python examples

All these examples were rewritten and added to the http://itk.org/ITKExamples/ repo.

Change-Id: I5b46d657d937f4daec3be597ffb85a21721e3f35
BUG: FFTConvolutionImageFilter outputs incorrect

When convolving an image (first) with a kernel (second)
the output image should maintain the physical spacing of
the first image.

Previous code always resulted in Identity for direction, spacing
and origin values.

Change-Id: Ie114408edf66e734e9adbc49fc9ae6c408efc325
COMP: Array versus singleton access

Coverity reports:
CID 1103095:  Out-of-bounds access  (ARRAY_VS_SINGLETON)
Taking address with "&dim" yields a singleton pointer.

Replaced singletons with arrays of proper dimension.

Change-Id: Ic2e64d0442be12ddb6e5f95523932724f3becbf0
Merge topic 'Coverity_itkHDF5ImageIO'

a977172e COMP: Array versus singleton access
COMP: Failed to check dynamic_cast results

Coverity reports:
Unchecked dynamic_cast
If the dynamic_cast fails, a null pointer dereference will occur; if
the dynamic_cast cannot fail, using static_cast instead offers better
performance.

Change-Id: I5ba9d18d262343f437b9a8905d2bd25e7783994f
STYLE: GetStopConditionDescription abstract method

Every derivative class of itkObjectToObjectOptimizerBase
had a GetStopConditionDescription function defined and
making it an abstract method so that it is accessible to
the SimpleITK layer consistently.

virtual const StopConditionReturnStringType
GetStopConditionDescription() const = 0;

Change-Id: Ic37b656b677be7c153dd2ec3df88a7d37949a376
Merge topic 'FixConvolutionOutputImageInformation'

bc13c812 BUG: FFTConvolutionImageFilter outputs incorrect
Merge topic 'Coverity_FEMTestDynamicCast'

1c06ef18 COMP: Failed to check dynamic_cast results
ENH: Add AmoebaOptimizerv4 to ITKv4 registration

Amoeba optimizer is converted from the ITKv3 to v4 registration
framework. A test is designed for this newly converted optimizer
and is passed successfully.

Change-Id: I093e006ccd84f599fa94b43802237ab4db57eedd
Merge topic 'AddAbstractBaseMethodForOptimizer'

e658eb6b STYLE: GetStopConditionDescription abstract method
Merge topic 'AmoebaOptv4'

2a11941b ENH: Add AmoebaOptimizerv4 to ITKv4 registration
ENH: Add ExhaustiveOptimizerv4 to ITKv4 registration

Exhaustive optimizer is converted from the ITKv3 to v4 registration
framework. A test is designed for this newly converted optimizer
and is passed successfully.

Change-Id: I6972471e177b47e12343eb549afa995cda151ab2
Merge topic 'ExhaustiveOptv4'

02e2d273 ENH: Add ExhaustiveOptimizerv4 to ITKv4 registration
ENH: Add PowellOptimizerv4 to ITKv4 registration

Powell optimizer is converted from the ITKv3 to v4 registration
framework. A test is designed for this newly converted optimizer
and is passed successfully.

Change-Id: I136ba2851f76b7c0b920c620c166d93173b93201
PERF: Re-use jacobian rather than instantiation

A temporary jacobian value was always created for
and resized at every iteration of the program call.

This was increadibly in-efficient during registrations
and was the #1 time consuming portion of the code for
many registration examples.

The new function:
ComputeJacobianWithRespectToParametersCachedTemporaries
was created to allow for improved performance.

Change-Id: Ic405b9d26c5fdf3660941372e9bb9814c2792143
BUG: define the GetStopConditionDescription as a public member funciton

Change-Id: I119071e84876eef1b45f890f84d0214363d5be06
Merge topic 'RefactorSwigCommand'

529df6ac STYLE: Refactor swig call and code cleanup