config: refactor the configuration module to remove duplicates

It now describes how the whole configuration looks like, and then create automatically
all the accessors, with the right values loaded from the configuration file,
and also knows how to write back the values into this file.

It could be even further improved if the attributes had the same name as the option
in the file, but that's already much better than before.

This refactor also removed a few duplicates and unused values...