### 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)
Ref<DirAccess> d = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
	ERR_FAIL_COND_V_MSG(d.is_null(), ERR_CANT_CREATE, "Cannot create DirAccess for path '" + p_path + "'.");
	d->change_dir(p_path);
	String current_dir = d->get_current_dir();
	bool found = false;
	Error err;
	while (true) {
		
		resource_path = current_dir;
		resource_path = resource_path.replace("\\", "/"); 
		err = _load_settings_text_or_binary(current_dir.path_join("project.godot"), current_dir.path_join("project.binary"));
		if (err == OK && !p_ignore_override) {
			
			_load_settings_text(current_dir.path_join("override.cfg"));
			found = true;
			break;
		}
		if (p_upwards) {
			
			d->change_dir("..");
			if (d->get_current_dir() == current_dir) {
				break; 
			}
			current_dir = d->get_current_dir();
		} else {
			break;
		}
	}
	if (!found) {
		return err;