BUG: Add constructor for ModuleProcessInformation

This allows the ModuleProcessInformation to be correctly initialized.
Also initialize StageProgress in Initialize function.
Add option allowing to specify which link flags to use with CLI

The SlicerExecutionModel can be configured with options:
  SlicerExecutionModel_DEFAULT_CLI_EXECUTABLE_LINK_FLAGS
  SlicerExecutionModel_DEFAULT_CLI_LIBRARY_LINK_FLAGS

or the set of flags to use can locally be overridden setting variables:

  SlicerExecutionModel_CLI_EXECUTABLE_LINK_FLAGS.
  SlicerExecutionModel_CLI_LIBRARY_LINK_FLAGS.
ENH: Add GENERATE_TCLAP_ASSIGNMENT_IFSET generation.

The GENERATE_TCLAP macro is split into GENERATE_TCLAP_PARSE
and GENERATE_TCLAP_ASSIGNMENT.  Another macro is also created
that assigns the C++ variables only if they have been set on the command line.

Currently, GENERATE_TCLAP_ASSIGNMENT is not used by PARSE_ARGS, but it is used
by TubeTK to overwrite parameters that have not been set.
ENH: Add ParameterSerializer support.

Add support for the parameter serialization with
ParameterSerializer (https://github.com/TubeTK/TubeTK-ParameterSerializer).
A module will automatically get new flags to serialize and deserialize
the parameters of the module to/from a JSON file.

Support is enabled by setting SlicerExecutionModel_USE_SERIALIZER to ON,
which will require the specification of the ParameterSerializer build tree,
ParameterSerializer_DIR.