ENH: Add currentIteration to LBFGSBOptimizerv4

A helper class (LBFGSBOptimizerHelperv4) is wrapped around vnl_lbfgsb.
This class is used to translate iteration events from vnl_lbfgsb
into iteration events in ITK.

We also needed a wrapper helper for the base class since part of
optimization is done by the base class.

Change-Id: I9372a9f16766a0214d15857e295a59cf513b6b64
Merge topic 'currIterForLBFGSB_r'

1ddfea41 ENH: Add currentIteration to LBFGSBOptimizerv4
ENH: Encapsulate expat header

Don't include the expat header in itkXMLFile.h, this improves
encapsulation and reduces potential problems mixing expat version.

Change-Id: Ida6dcb33d9407aa1bd47437d43f75c872abb7f78
Merge topic 'EcapsulateExpat'

47c44b64 ENH: Encapsulate expat header
BUG: Use referenceImage for output information

Actually use the reference image to set the output information of the
displacement field. Also use named input macros for inputs.

Change-Id: Id4caec8285544d1e7fec335bdf448191f4881da8
Merge topic 'UseNamedInputForTransformToDisplacementField'

6212020b BUG: Use referenceImage for output information