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.
BUG: Add constructor for ModuleProcessInformation

This allows the ModuleProcessInformation to be correctly initialized.
Also initialize StageProgress in Initialize function.
Merge pull request #19 from vovythevov/ModuleProcessInformationConstructor

BUG: Add constructor for ModuleProcessInformation
Merge branch 'macosx-link-executable-or-library-with-rpath'

* macosx-link-executable-or-library-with-rpath:
  Add option allowing to specify which link flags to use with CLI
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.