Set (empty) default values when potentially unset shell variables are expanded.

To make the script happy despite `set -u`.
Make local configuration file YAML formatted.
Simplify by using YAML-formatting for all configurations.

That is, even values in the shell should use the YAML format. This
gives us type autodetection for free.

We also do not import the whole shell environemtn into the (internal)
hash that stores the configuration, but only the keys that are
actually used.
Work around a YAML type-autodetection issue.

For the display it interprets e.g. ":2" as the integer 2, dropping the
":", so we have to force the type when exporting it.