Loads a YAML configuration file from the given path and overrides
it with environment variables. If the file cannot be loaded or
parsed as YAML, an error is returned. Requires a default config of any kind,
will try to serialize the configuration to outConfig if present (needs to
be a pointer to a struct).