Makes it possible to use non-trivial C++ types in `FileListEntryCache`. I'm planning to use this for blender/blender!130543, to store status information about downloaded previews. While it's possible to use C-style types instead, this is easier and a worthwhile general improvement. I turned `FileList.filelist_cache` into an allocated pointer, so `FileList` doesn't have to be ported to be a non-trivial type as well. We probably want to do that too at some point. Pull Request: https://projects.blender.org/blender/blender/pulls/141411