Make transport related params section dependent

Transport related model parameters are now section dependent, i.e.,
they can have different values in different sections. The relevant
parameters are:
- COL_DISPERSION
- VELOCITY
- FILM_DIFFUSION
- PAR_DIFFUSION
- PAR_SURFDIFFUSION

Section dependence is indicated by providing a vector of proper length
instead of a scalar or vector. In the case of component dependent
parameters the ordering is as follows:
comp1sec1, comp2sec1, comp3sec1, comp1sec2, comp2sec2, comp3sec2, ...
which means that all components are specified for each section.

The code automatically recognizes section dependent parameters such
that, e.g., a single velocity parameter can be used for estimation.
This required to add the isVector() function to the XMLBase and
HDF5Base in order to check if, e.g., VELOCITY is section dependent.

Since the boundary/flux blocks in the Jacobian depend on the film
and particle diffusion, the blocks need to be updated in each
section in the case of section dependent FILM_DIFFUSION and / or
PAR_DIFFUSION. This required adding the hook sectionSetup() to
ChromatographyModel which is called upon a discontinuous section
transition in TimeIntegrator.

Moreover, the section of a parameter has been added to the ParamID
type in order to support section dependence. This required many
(small) changes. Since the ParamID is now a C++11 tuple, some
includes have been changed in the benchmarks and regression tests.

Section parameters have been added to many interface functions in the
Simulator and SimulatorPImpl classes. In general, they default to -1
to change as few code as possible.

The MATLAB interface has been adapated by adding the corresponding
error checking routines. Two forward examples and three parest
examples have been added to demonstrate the new features.

Closes #1.
Add global exception handling to CadetMex

Exceptions thrown during the simulation are now caught in
mexFunction() before they can propagate to MATLAB. The exceptions are
handled by calling mexErrMsgIdAndTxt(), i.e., by converting them to
a MATLAB error / exception. The MEX backend of the Simulator MATLAB
class is adapted accordingly.
Add logging support to MEX interface

Adds logging capabilities to the MATLAB MEX interface, i.e., the log
messages are forwarded to MATLAB via the mexPrintf() function. This
requires linking libcadet-mex against the necessary MATLAB libmex and
libmx libraries. A new logging target / destination, called MexOutput,
has been added and the corresponding setup of the logging framework is
done if the MATLAB_MEX_FILE preprocessor define is set. The CMake
scripts are adapted accordingly to set this define in MEX relevant
builds. The default error level in the MATLAB interface is raised to
ERROR in order to avoid a flood of irrelevant messages.

Closes #2.
Improve documentation in Parameter class

Add comments to the member variables of the Parameter class.
Remove threads API from TimeIntegrator class

Remove the nThreads member variable and the setOpenMPThreads()
function from the TimeIntegrator class since they are not used.
Fix version extraction from git in CMake

Removes the abbreviated commit SHA (first 4 letters) in the extraction
of the version from the last git tag.