ENH: Add Generation of additional Execute methods with optional inputs

Add code generation for the public Execute methods to generate an
additional version with the optional inputs.

The internal execute method now takes points to the inputs so that
unspecified inputs can be passes as a NULL pointer. This approach was
choose since it does not add additional methods. It is also safe sine
the public methods still get references and hold onto the object.

Change-Id: I1d4818f1a9792b997b87a5d12b3642f936cb750a
Add support for inputs dispatches image to be any name

Change-Id: I9143d25d2d26e4a0503414b879f2f5a2d3798030
Adding generation of procedural methods with optional inputs

Change-Id: I38537de6f47aadab3e3180ea3f69beea2cccda3d
Update test for multiple inputs

Change-Id: I1caac1d9dc46c1d4a622e479305c53b8429e2229
Adding a 255 mask for cthead for test data input

Change-Id: Ia4126a37e68c9c5dd0ab1d8b4e384a03318ac27a
Adding Mask as optional input to auto threshold filters.

Adding more testing and related parameters.

Change-Id: I47a77f99cc2af99d15c415222c408f1e54b4cff4
Use stronger enum type for pixel id in core template component

Change-Id: I2c095ea46966f18265155f467f700d8a495c5599
Adding support for inputs list to Dual dispatch filter template

Change-Id: I1e306e08afc338e4366efd494c37e9737efa6f59
Use named input for dual dispatch filters

Dual dispatch filter take two different image inputs. With generic
names is was not clear which input was which with names inputs it
should be more apparent.

Change-Id: I83a584dc00ddaade6dee31ed881eef7208c686f5
Add auto-crop option to LabelMapMask filter

Change-Id: I011cd6c3a64482c69917f37ca20f1c1ad26685d0
Fix missing InputImageType2 template parameter

Adding additional test to the Mask filter to help detect this case.

Change-Id: I7e2cd219d2f3955e09083085b4e1f9704144db6a
Adding changes needed to merge into optional inputs branch

Change-Id: I19ebd017ecb66ded185590730eed4cd6f9ea1877
Merge branch 'SIMPLEITK-550_AddTransformToDisplacementField' into SIMPLEITK-429_AddOptionalInputs

Conflicts:
	Code/BasicFilters/json/MorphologicalWatershedFromMarkersImageFilter.json

Change-Id: I69a12256a70dba28ba5f86c61579f8eb8894cea3
Fix passing inputs to ExecuteInternal method as pointers

Change-Id: Iaca4480a475ba2cc856427e635f632a5a1520c71
Fix copied hash for new mask image filter test

Change-Id: I444bba8842f7684e1ad8b873bff4148954f326ab
Merge topic 'SIMPLEITK-429_AddOptionalInputs' into next

47732c7f Fix copied hash for new mask image filter test
6fdb963f Fix passing inputs to ExecuteInternal method as pointers
0cfafb34 Merge branch 'SIMPLEITK-550_AddTransformToDisplacementField' into SIMPLEITK-429_AddOptionalInputs
ff462fa7 Adding changes needed to merge into optional inputs branch
610f5a28 Fix missing InputImageType2 template parameter
fc31fa57 Add auto-crop option to LabelMapMask filter
53b068bc Use named input for dual dispatch filters
3b7f4913 Adding support for inputs list to Dual dispatch filter template
5400abb1 Use stronger enum type for pixel id in core template component
607c23ee Adding Mask as optional input to auto threshold filters.
f48d2756 Adding a 255 mask for cthead for test data input
15abd849 Update test for multiple inputs
882a376d Adding generation of procedural methods with optional inputs
e019bb55 Add support for inputs dispatches image to be any name
26659161 ENH: Add Generation of additional Execute methods with optional inputs