Don't scan contents of every file in a Jar to determine if a classfile is a Scala one
The ClassFileProviderAspect lets the Scala IDE intercept creation of JDT ClassFile instances, and swap them for a Scala implementation (it is not clear to me we absolutely need to do this, we could always create a ScalaClassFile and delegate to the Java part in "buildStructure").
Deciding if a classfile is Scala is expensive: it requires unzipping and parsing the classfile. The way the Aspect is designed forces us to take the decision very early (when a package is open), and the classfile might never be open or needed. We should cache this information per jar file.
This is particularly expensive if jars come from a network drive.