[dunecontrol] Fix parsing of Git configuration settings file

dunecontrol fails to properly process Git settings where the value contains
spaces. It was supposed to handle quoting the same way the shell does, but
instead arguments were split at each space and quotes kept verbatim in the
split arguments.

The reason is the order in which the shell performs variable substitution and
tokenizing, preventing the line with the Git configuration entry from being
tokenized by the shell.

This patch fixes the problem by first parsing the line into an array, which is
then in turn expanded again with correct per-element quoting.

In addition, make COMMENT helper variables local while we're at it.
[dunecontrol] Skip unnecessary parsing of Git option lines into array

As Carsten correctly pointed out, it's easier to just eval the command directly.
[dunecontrol] Add some rudimentary protection against user errors during git config parsing

The contents of the files containing git settings is evaluated by the shell, which can
be dangerous if such a file contains a line like 'option value; rm -rf /'. While that is
unlikely, it might happen when people try to create a Git alias.

It would be possible to completely protect users from this problem by parsing the line
completely manually (without involving the shell), but on the other hand, being able to
use shell features for determining option values seems like a good thing to have as well.

This patch adds some rudimentary protection that protects against errors like the one shown
above. More advanced users can still wreak havoc by abusing shell substitution
('option $(echo value; rm -rf /)' comes to mind), but that's not something our average user
will do.

The protection works by splitting the input line into an array first; doing so does not
actually execute the line and so prevents anything outside of value substitutions in $()
from being executed.

Also added a comment to explain why we need to go through the extra step with the array.
[CMake] Remove parentheses from dune-*.pc.

This fixes FS#1324.
Thanks to Arne Morten Kvarving for the patch.
Remove obsolete test file exprtmpl.cc
config.h was not included
Forgot to include config.h
cleanup: remove a few bogus comment lines
Implement 'conversion' as a future replacement for 'SelectType'

The C++11 standard library offers the functionality of SelectType,
it is, however, called 'conditional'.  This patch adds a copy
of our SelectType implementation with the class names changed
to match the ones used in C++11.  The old SelectType implementation
gets deprecated.
spelling
fix deprecation warning.
add missing include :-(
Merge branch 'master' of http://git.dune-project.org/repositories/dune-common
spelling
Replace Dune::SelectType by Dune::conditional

Because the latter uses the C++11 standard library naming.
Merge branch 'master' of http://git.dune-project.org/repositories/dune-common
use DUNE_ADD_ALL_PKG to add flags to global flag variables.
[CMake] Improved documentation for DUNE_INSTALL_MODULEDIR
[dunecontrol] Stop overwriting BUIDDIR from options file.

Previously a value specified on the command line was always
overwritten by a value set in an options file. This patch
fixes this together with overwriting the build directory with
the default build-cmake when --use-cmake was specified.
Removed printf debugging output.