Added a class loader cache for ScalaInstallations.

The builder infer what Scala installation best matches the Scala Library on the current
class path. It works by using the resolved class path, meaning that the Scala class path
container (if present) is honored as-is. This means that even if the `-Xsource` flag is set,
the Scala library *on the classpath* is the one that determines the builder version of Scala.