Creates the default configuration.
Loads the configuration from the configuration folder if exists, or saves the default if it doesn't exist. This doesn't handle IO errors (like inaccessible file), malformed JSON, or encoding and decoding failures.