### Godot version

4.0 beta (e1648b3327431a09cc9498663fac483275eb711d)

### System information

Mageia 9, Linux

### Issue description

When exporting a project with no attached script (or with only a builtin GDScript), the following error is printed:
```
ERROR: Can't open file from path 'res://.godot/global_script_class_cache.cfg'.
   at: get_file_as_bytes (core/io/file_access.cpp:699)
```

And while the export succeeds, when running the project, it prints:
```
ERROR: Couldn't find the given section "" and key "list", and no default was given.
   at: get_value (core/io/config_file.cpp:86)
```

We should ensure that this file is always created, regardless of whether there are scripts to parse for class names or not. It should always contain at least `list=[]`.

### Steps to reproduce

- Create new project
- Create main scene with no script
- Export

### Minimal reproduction project

[NewProj.zip](https://github.com/godotengine/godot/files/10547125/NewProj.zip)
while (true) {
		assign = Variant();
		next_tag.fields.clear();
		next_tag.name = String();
		err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, nullptr, true);
		if (err == ERR_FILE_EOF) {
			
			
			_convert_to_last_version(config_version);
			last_save_time = FileAccess::get_modified_time(get_resource_path().path_join("project.godot"));
			return OK;
		}
		ERR_FAIL_COND_V_MSG(err != OK, err, "Error parsing " + p_path + " at line " + itos(lines) + ": " + error_text + " File might be corrupted.");
		if (!assign.is_empty()) {
			if (section.is_empty() && assign == "config_version") {
				config_version = value;
				ERR_FAIL_COND_V_MSG(config_version > CONFIG_VERSION, ERR_FILE_CANT_OPEN, vformat("Can't open project at '%s', its `config_version` (%d) is from a more recent and incompatible version of the engine. Expected config version: %d.", p_path, config_version, CONFIG_VERSION));
			} else {
				if (section.is_empty()) {
					set(assign, value);
				} else {
					set(section + "/" + assign, value);
				}
			}
		} else if (!next_tag.name.is_empty()) {
			section = next_tag.name;
		}
	}
}
Error ProjectSettings::_load_settings_text_or_binary(const String &p_text_path, const String &p_bin_path) {