ENH: Use library wrapper in the "EXECUTABLE_ONLY" case

This will allow custom wrapper to execute some code before the main
entry point in both the [exec + shared lib] and [exec only] cases.

The macro "MODULE_STATIC" has also been introduced and can be tested
within the wrapper to discriminate both cases.

Change the component associated with Archive target from RuntimeLibraries
to Development. That way, static library won't be packaged.

See Slicer issue #3008 - http://na-mic.org/Bug/view.php?id=3008
Merge branch 'use-wrapper-for-exec-only-case'

* use-wrapper-for-exec-only-case:
  ENH: Use library wrapper in the "EXECUTABLE_ONLY" case
COMP: SlicerExecutionModelConfig: Set default variable only if not defined

It is now possible for a project to globally override the default value
of output directories and library cxx wrapper.
Merge branch 'config-set-default-vars-only-if-needed'

* config-set-default-vars-only-if-needed:
  COMP: SlicerExecutionModelConfig: Set default variable only if not defined
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.
Merge pull request #20 from thewtex/parameter-serializer

Parameter serializer support.