COMP: TranformIOBase unused GetTypeNameString function.

This function was declared in an anonymous namespace in the .hxx file, then
used by the derived classes.  This does not work with ITK_MANUAL_INSTANTIATION
and causes and unused-function warning when the object file does not contain
one of the derived classes.

The functions were made into static const inline class members.

Co-authored-by: Kent Williams <norman-k-williams@uiowa.edu>

Change-Id: I403574171caf73e28b9d244755f2cba0dd9e13c2
COMP: TransformFileWriter unused AddToTransformList.

This addresses warnings such as

/home/matt/progs/ITK2/Modules/IO/TransformBase/include/itkTransformFileWriter.hxx:165:13:
warning: unused function 'AddToTransformList' [-Wunused-function]
inline void
AddToTransformList<float,float>(TransformBaseTemplate<float>::ConstPointer
&transform, std::list< TransformBaseTemplate<float>::ConstPointer > &
transformList)

by using explicit instantiation to give a better hint to the compiler as to
what specialization to use.

Change-Id: I15e3ac6bba9ec25bc54c130152cd2010059519ae
STYLE: Fix KWStyleCodeTest - unnecessary semi-colons.

Change-Id: Icc71a4785300353aa0fbebb8fa5c658ceb859188
COMP: Update MINCTransformIO for GetTypeNameString method.

Co-authored-by: Kent Williams <norman-k-williams@uiowa.edu>

Change-Id: I0ac9191ea1bf483dff03d3d7d1e560722d3e1029
BUG: UseSeriesDetails variable not correctly set

Change-Id: I40762247de66e82bf24a84e4664925b64ed30b47
Merge topic 'GDCMSeriesDetailsFix'

050227d BUG: UseSeriesDetails variable not correctly set
Merge topic 'Dashboard'

a2a1fcd COMP: Update MINCTransformIO for GetTypeNameString method.
fbfd83e STYLE: Fix KWStyleCodeTest - unnecessary semi-colons.
abb0160 COMP: TransformFileWriter unused AddToTransformList.
c3f24d5 COMP: TranformIOBase unused GetTypeNameString function.
BUG: Update SmoothingRecursiveYvvGaussianFilter to fix CMake warning

The remote module SmoothingRecursiveYvvGaussianFilter was updated upstream
to use the new EXCLUDE_FROM_DEFAULT syntax. ITK will now fetch this
updated version.

Change-Id: I6c914e66fc1ebec787a5079b5b1d5b7ba6b8cde8
COMP: Unused Clone and CreateAnother warnings

The intel compiler recognizes that the Clone and CreateAnother can never
be used in this isolated compilation unit.  The itkSimpleNew
provides only what is needed.

Change-Id: I83cb0c29e938488bbea7a37c85bb5ac80d298309
COMP: Const char * ternary operators

The following warning:
warning #3179: deprecated conversion of string literal to char* (should be const char*)

is issued when the first return item of a ternary operator is a "char *" and the
second return item is a  "const char *" because the effective temporary variable
will have the same type as the first element.

Change-Id: Ib065f114cae03752a90d119e864d76b44a751391
BUG: Derived test class missing required logic

The required logic for all dereived threaded metric classes
is that they must check if the derivative is requested before
atttempting to compute them.  During the refactoring for fixing
false sharing of variables, it is now possible that these
temporary variables do not exists and therefore can not be computed.

Change-Id: I0263cddecc69af22aeae66b05864ec8d6b88b70e
PERF: Remove false sharing across threads

During multi-threading, false sharing of
variables across threads occurs when
adjacent memory locations exist in the same
cache line, and this results in extraorinary
performance penalty as each cache line is
uncessarily invalidated by other threads.

This patch focuses on the regitration metrics
where the cache sharing was most obvious to
identify with the Intel VTune Performance
analyzers.

The following conformance rules were applied uniformly
across all locations to ease future maintenance of the
code

Rules Applied:
(S) Add Struct to CorrelationMetricPerThread  Mainstruct suffixed as PerThreadStruct
(M) Add main class variable with PerThreadVariables suffix
(P) Add Padding Macro
(A) Add Alignment Macro
(V) Make mutable std::vector m_ member variable

These classes were made consistent:
SMPAV itkCorrelationImageToImageMetricv4HelperThreader.h
SMPAV itkMattesMutualInformationImageToImageMetric.h
SMPAV itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h
SMPAV itkImageToImageMetricv4GetValueAndDerivativeThreaderBase.h
SMPAV itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h
SMPAV itkJointHistogramMutualInformationGetValueAndDerivativeThreader.h

A good description of false sharing can be found at:
http://software.intel.com/en-us/articles/avoiding-and-identifying-false-sharing-among-threads

Change-Id: I1c823f03612958a43cc25860c8d7c9727e635f11
PERF: Avoid smart pointer registration penalty

The smart pointer generation was unnecessarily being
called many times.  It resulted in a very large performance
penalty that greatly affected registration performance.

Change-Id: I20424e1fb6a05a831bcd47148fdba93209011b44
PERF: Reviewing code for facilitating compiler optimizations

The itkLinearInterpolateImageFunction.h is such a core
function, it deserves special attention for gaining
any amount of speed improvement can help
improve the speed of many programs.

Change-Id: Ibba6caa0468e850ab6b487565943d07af9f82f8c