### 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)
if (p_path.ends_with(".binary")) {
		return _load_settings_binary(p_path);
	}
	return _load_settings_text(p_path);
}
int ProjectSettings::get_order(const String &p_name) const {
	ERR_FAIL_COND_V_MSG(!props.has(p_name), -1, "Request for nonexistent project setting: " + p_name + ".");
	return props[p_name].order;
}
void ProjectSettings::set_order(const String &p_name, int p_order) {
	ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + ".");
	props[p_name].order = p_order;
}
void ProjectSettings::set_builtin_order(const String &p_name) {
	ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + ".");
	if (props[p_name].order >= NO_BUILTIN_ORDER_BASE) {
		props[p_name].order = last_builtin_order++;
	}
}
bool ProjectSettings::is_builtin_setting(const String &p_name) const {
	
	ERR_FAIL_COND_V_MSG(!props.has(p_name), true, "Request for nonexistent project setting: " + p_name + ".");
	return props[p_name].order < NO_BUILTIN_ORDER_BASE;
}
void ProjectSettings::clear(const String &p_name) {
	ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + ".");
	props.erase(p_name);
}
Error ProjectSettings::save() {