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
ENH: Added more flexible ITKv4 RegistrationMethod

Simplified template parameters and allows one to dynamically
set the optimized transform type.  There was no need to
template this registration method over the transform type.

By using the abstract base class "Transform<>" as the internal
representation, we can completely avoid dependance on a template
argument.  This allows for a much easier (and more consistent with
ITKv3) framework.

The main motivation for these changes came about during code
review in preparation for including ITKv4 registration in SimpleITK.

Additionally, several coding style changes were addressed to make
the new itkImageRegistrationMethodv4Generic consistent with the reset
of the ITK toolkit Transform templating paradigms.

Change-Id: I868746a2e6d96081face0707244cc34c55929a04
ENH: Add GetTransformOutput() methods

The GetTransformOutput() methods provide a convenient
interface for retrieving the internal resulting
transform after the registration process completes.

Change-Id: I089954f66f80c58ca4e12ea34ea8b838bf07e950
STYLE: Improve the ITKv4 registration example.

Change-Id: Ib140ffd1c6147387b9730c1cc34a1109b5cf031d
STYLE: Use new ITKv4 registration classes

Change the examples to use the new ITKv4
registration framework that is not templated
over transform type.

This more closely matches the ITKv3 registration
framework paradigm, and is much more flexible.

Change-Id: I4363b7cda20806c848940096ba093307a9733cde