Don't subclass dict, make a load_conf class

Instead of relying on a class to have all the properties of a dict,
have it return a real one.
This needs to be a class and not just a function so we can inspect it using
__subclasses__