JarPackageFragmentRootInfo.rawPackageInfo hold a list of all files in
the JRT but each projects gets its own JarPackageFragmentRootInfo.
Calculate that files independent of the instance and reuse if for all
projects. To safely share the result across threads an unmodifiable
datastructure is used.
* use record instead of String[2] for classes vs resources
* reduce rawtypes, unchecked conversions
* avoid char[] to String conversions
tested by JavaProjectTests, AttachedJavadocTests
https://github.com/eclipse-jdt/eclipse.jdt.core/issues/2884