Strings are immutable, so when one variable changes the other will not,
as such there is variance on config load between variables that should
be the the value of another variable.
To solve that I've moved the config into a class and made those values
read-only properties to the loaded values.
Closes: #137#138
The parameter names must not be converted to upper case before calling
context.invoke, because that works with the lowercase names.
Before this bugfix,, we had kw like this in the various setup_* functions:
{'DB_URI': 'sqlite:////tmp/wiki.db', 'db_uri': 'sqlite:////real/path.db'}
and whichever won was pretty much random (dict sort order)