Public types for config modules
Keeping an 'inner' structure here, as the top level GlobalConfigContainer options might want to keep internal state that we don't necessarily want serialised or deserialised
Going to hold all of the various configuration types separately for now, then put them together as a single ServerConfig object afterwards. This is to flatten out the configuration file into logical sections, as they tend to be quite nested in the code Most structs optional, as they may or may not be needed depending on what's being run
Error type wrapping config errors.