Add better name matching for class level configs

    Added BaseConfig class from which to subclass from, this is required for inspect predicate to match. This
    can still be subclass from an "Application" or "Project-level" Base Config class just fine.

    Added one more sane default possible name: .upper(). Patched _possible_names to be more generic.

    Updated docs and fixed typos