ENH: Quick modifications to get basis of ImageRegistrationMethodv4 working

Change-Id: I3de453a14439ef1bb44cfa7c1e0d38d576da4ebc
Adding skeleton creation for ITKv4 metrics

Change-Id: Ib4f324bf54b8bac78dc2f3b89fdade3161b81cce
Updating RegularStepGradientDescentOptimizer

rename maxStep to LearningRate for RegularGradientDescentOptimizer

Change-Id: I7c4186fc130f12b5bcf717cc38403a6dbe086ccb
WIP: some random tweaks

Change-Id: Ib9079d22f7380de364367a80b1d2d288d05c8530
Add ImageRegistrationMethodv4 parameters

Change-Id: I0ce5ed6708c1ec377b27baaf45fad465723bbba2
updating example for MattesMutualInformation

Change-Id: Iec24080225d1cc2ae325f3eb63eb45f240cbb7b9
Add manual dependency for image registration headers for SWIG

Change-Id: If9d2a85d4b19ce99acf7d2cb3390426b3de40d2c
Adding initial optimizer scale estimator

Change-Id: I27db25bafba77f68c63775e1dd87edb65007b0eb
Add parameters to scale estimators

Change-Id: I1aadc0d21b7bce414514bd6ce1a4b1472a1d3e17
Set Sampling strategy for method

Change-Id: Iac2f48b243357c8f97946caccfbe111d889e3f90
Fix casting for strategy enum to itk type

Change-Id: I918becfe636cba6c5f8532158be5c1174f01c5ac
AddProcessObject::ToString method to print active process object

This method is called by the RegitrationMethod to enable debugging of
what's going on during execution. Other Filters should also added this
superclass call.

Change-Id: I7b3de7f699adb3d12a28a3d004ba029a44dfd10a
Propagate number of threads set to the optimizer and metric

Change-Id: Ia0218ed23d051328767a1cd4ac13b0b7f84b3b6e
Print ActiveOptimizer in registration metric

Change-Id: I1f5e62e463557ed72295b56745fa5d3c1063c3af
Set default number of levels to 1

Change-Id: I00ca8c0a431ced8bfd2cd4dbbe2b5ce8ab6702fb
explicitly set using gradient image

This may latter be exposed as a parameter

Change-Id: I694de874aaaf22c9428c4fe02b2cfebce3181ddb
Adding convergence parameters to gradient descent optimizer

Change-Id: If7f07ea7c25baef749cf0b7a3af2ef743a66c5af
rename minimum convergence criteria to be prefixed with convergence

Link variables should begin with the same things to be grouped
together.

Change-Id: I126824f97e60982ed1044e089fac261deb6da89e
Add LBFGSB Optimizer

Change-Id: I36f430990659124c5621680565b8ca5743530b7a
Adding ConjugateGradientLineSearchOptimizer

Change-Id: Ifb864bdb1b7e239fdd6844d6f42c5bf4a2363c69