Adds support to detect available Scalas

Detects both bundled jars and multi-bundles installations
Merge pull request #693 from skyluc/issue/detect-multi-scala

detect multiple scala
Added the ability to compile the sbt compiler-interface on the fly and use it.
Reviewer’s comments.
Fixes memory test configuration

Because the m2 repos are no more used in this part of the build, the
version for the needed Scala jars are no more pre-set.
Merge pull request #698 from skyluc/issue/fix-memory-test

Fixes memory test configuration
Merge pull request #694 from dragos/issue/on-the-fly-compiler-interface-2

Added the ability to compile the sbt compiler-interface on the fly
The ScalaBuilder chooses the Scala compiler version based on the project class path.

This commit adds the ability to build with either the current (at the time of this
work, 2.11) Scala compiler, or a previous version. The previous version is chosen
when a project is in “compatibility” mode, and the `-Xsource:` flag is used to put
the type-checker in the right mood.

The Scala builder now chooses a ScalaInstallation based on the Scala version on the
class path. The builder infers what Scala installation best matches the Scala Library.
It works by using the resolved class path, meaning that the Scala class path
container (if present) is honored as-is. If the `-Xsource` flag is set, but the Scala library is
still the platform version (2.11 at this time), the Scala library *on the classpath*
what determines the builder version of Scala.
Merge pull request #697 from dragos/issue/on-the-fly-classloaders-2

Build support for several versions of Scala
Removes split pre-compiled compiler interface

Only base version version is packaged (and not used at runtime). The source bundle is used at runtime.
Merge pull request #699 from skyluc/issue/no-need-specific-compiler-interface

Removes split pre-compiled compiler interface