ENH: Refactor [de]serialize format for brevity

Change parameter [de]serialization to use a much more terse syntax that
omits the schema information (i.e. parameter types and legal value
information) and provides just the name/value pairs. Refactor to
eliminate the ParameterSerializer dependency (which is not needed for
this purpose) in order to have a separate mode where only JsonCpp is
used, and provides this feature. Move common helper methods to a new
header, rather than writing them out to every CLP header. Switch
parameter order so that serializing uses deserialized parameters (helps
with testing). Create a small helper class for writing macros in order
to eliminate the readability-killing boilerplate code for this purpose.
Refactor GeneratePost to avoid error-prone duplication.

The eventual goal is to use json-ld markup to preserve the 'schema
information', however that is not actually required for the feature to
function, and so is not implemented yet.
STYLE: Avoid file(GLOB)

Replace use of file(GLOB) with explicit lists. Use of file(GLOB) is
considered bad practice because it is not guaranteed to trigger a
reconfigure when the list of files changes, which can lead to broken
builds.
Merge pull request #32 from mwoehlke-kitware/json-brief-serialize

Refactor JSON serialization to use new terse syntax

Looks like there are now two compiler directives (1) use serializer, (2) use jsoncpp.
ENH: Set default value for CMAKE_BUILD_TYPE

Default to "Debug" type if building on a non multi config system.
ENH: Add support for CMake 3.0 removing use of LOCATION target property

This commit removes the usage of deprecated target property [1] by
doing an explicit search of the executable given a set of possible
known location.

[1] http://www.cmake.org/cmake/help/v3.0/policy/CMP0026.html
ENH: Re-factor GenerateCLP tests to support multi config system

The tests are not built and configured as standalone project allowing
to test the generateclp macro and executable independently of the build
tree.