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 support for ParameterSerializer

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.

ENH: On deserialization do not fail if all parameters not present

Better behavior -- then the defaults are used.

ENH: Use Name instead of Label when identifying parameters

This allows the use of more concise input files for deserialization since
the Name is usually much shorter than the Label.

ENH: Add SlicerExecutionModule_USE_SERIALIZER to find_package COMPONENTS

BUG: Include ParameterSerializerConfig.cmake in ModuleDescriptionParserConfig.cmake.

This is required for CMake to eventually be aware of the location of the JsonCpp library
if a build tree location was used.

BUG: Make sure SEMMacroBuildCLI links JsonCPP_LIBRARIES to created targets

BUG: Do not use -1 for JsonValue index

Fails in Debug build.  Use an index beyond the bound instead.

BUG: Use the Name instead of LongFlag as the parameter identifier

BUG: JsonCpp_LIBRARIES was not defined for SlicerExecutionModelConfig.cmake

Also, we must export the location of the JsonCpp libraries.
BUG: Fix ModuleDescriptionParser Serializer class interface macros.
COMP: Fix size_t to int conversion warning.
COMP: Improve Visual Studio DLL exports.

The WIN32 macro is not officially defined by the compiler--
use _WIN32 on _MSC_VER instead.  Also, use GenerateExportHeader
macro from CMake to get a better, future proof export header.
BUG: Typo: fetching Label instead of Name.

This results in the incorrect parameter archive output.
STYLE: Remove debugging code.
ENH: Add support for Travis CI testing
ENH: Add support for upstream JsonCpp repository