ENH: Add class to record optimization parameter progression.

When set to observe a SingleValuedNonLinearOptimizer, it will record
the parameters, the cost function value, and the cost function derivative
at every iteration, then save the result to an HDF5 file.  An HDF5 file
is used so it can be easily read and examined in Python while retaining
and binary precision and compression.

Change-Id: I7737cd6951c32b7f2efe0d6393469fbc8c458037
ENH: Add MetricType typedef to itkImageToTubeRigidRegistration.

Change-Id: If97c79d425babc8fa57e2045f9b02f496f9b3e99
BUG: Remove SpaceDimension from ImageToTubeRigidMetric.

This is based off the SpaceDimension in Euler3DTransform, but it is
not called SpaceDimension there, it is called ParametersDimension.

The removal as results in a removing an unnecessary and suspect
DerivativeType (Array) contruction and assignment to a reference.

Change-Id: Icf48a9a156881e11c2b5a28e5a639d8195cced0d
ENH: Do not hard code Optimizer in ImageToTubeRigidRegistration.

Move from a hard-coded derived OptimizerType to a default derived Optimizer
(currently GradientDescent) for several advantages.  Since the default optimizer
is instantiatied in the constructor, ->GetOptimizer() will return the default
optimizer right after the object is contructored (needed for the next patch).
The setting of optimizer parameters is simplified.  If a different derived
Optimizer type is desired, the ImageToTubeRigidRegistration API does not have to
re-written and all the code that uses it changed.

Change-Id: I28abd8f93e4834e6d850b1f716f6c2b5f9f86f8e
ENH: RegisterImageToTubes app option to save parameter progression.

Add flag to RegisterImageToTubesUsingRigidRegistration so that the
optimization progression can be saved to a file.

Change-Id: I5741450cb689156212e6ec855063d138e56650c3
Merge topic 'TubesIteration'

e2ef252 ENH: RegisterImageToTubes app option to save parameter progression.
2d27eaa ENH: Do not hard code Optimizer in ImageToTubeRigidRegistration.
dd8c48a BUG: Remove SpaceDimension from ImageToTubeRigidMetric.
222b5dd ENH: Add MetricType typedef to itkImageToTubeRigidRegistration.
a29eea3 ENH: Add class to record optimization parameter progression.