Config: Remove unused KeyedConfigGroup.
Config: Automatically produce the appropriate type variable for role configs.
Config: Have KeyedConfigList ouput valid options when found un-expected key.
Config: Add database config group.
Config: Appropriately prevent duplicate config variable names and inform developers.