Code cleanup
Settings system. Now is probably the right moment to tell if you don't like it :)
Adopted modules to new settings system

Btw. nothing has changed for the config files. You can pass into
__init__ a dict as before, or you can use keyword arguments.

Either way, a module defines the settings that can be specified
and those which are required. __init__ basically checks that all
required options are set and that no invalid options are used.