COMP: SimpleITK linkage failure

When building with clang on 10.9 where ITKv4 is a shared library,
a linking error occured for unfound symbols: NumericTraits< OutputPixelType >::Zero
but using the NumericTraits< OutputPixelType >::ZeroValue()
allows linkage to occur properly.

Change-Id: I496a41c102960b60c461adefdccc373b39dabb03
Merge topic 'FixZeroValue'

9ed7059 COMP: SimpleITK linkage failure
BUG: Prevent ObjectFactoryBase from possibly throwing an exception

Coverity produces over 250 errors due to the fact that
ObjectFactoryBase::RegisterInternal() has the structural capability to
throw an uncaught exception, if m_RegisteredFactories is non-empty.

However, as currently implemented, when ObjectFactoryBase::
RegisterInternal() is called, it is logically impossible for
m_RegisteredFactories to be non-empty. Verifying this precondition as a
check against future bugs is still good idea, but errors will now only be
produced in debug mode. In all build configurations, m_RegisteredFactories
will be cleared (which should be a small, constant-time overhead), to
guarantee consistent behavior.

Change-Id: Ia5890a323a7e8d5ed6b44195158a7a05f2c5df3e
Merge topic 'ObjectFactoryException'

302d53c BUG: Prevent ObjectFactoryBase from possibly throwing an exception
WIP: Add itkLBFGOptimizerv4 (for BSPline registration)

Translate the itkLBFGOptimizer to the v4 framework.

Results are identical between the new itkLBFGSOptimizerv4Test
and the old itkLBFGSOptimizerTest.

There's a problem with respect to the new templated precision
for transform types; the new classes use a VNL-based optimizer
which only works with double precision. Thus, the classes are
non-templated and will only use double precision math.

Also, the scale estimator is removed from the GradientDescent optimizer
and is added to the parent file, so it can be used by new derived
optimizer classes.

Change-Id: Iac1ec0373cfac02ab1bd499ea5742f0b7e49def6
WIP: uncomment the DeformableRegistration4Test

Change-Id: Ia87703071282ef24d378d8664fab3ea61297f80c
WIP: test LBFGSOptimizer in registration framework v4

Change-Id: I6650de7c62470ef8ba8bd83c0d90b9bf87922c79
WIP: change startOptimization function

Change-Id: I3ea003d7aa7569774bf9a46d14aa8a0651c81675