Uses new debug view selection support

In Eclipse 4.x, a new way to follow the current selection in the debug view was implemented,
as debug specific support.
The old way was slightly broken, and was no more working for selection changes not triggered
by the user. A temporary fix was implemented in Scala 3.0.x, to support Eclipse 3.x and 4.x.
This commit replace the old code and the fix by a solution using the new support.

Fixes #1001585
(cherry picked from commit 22238324758784a8bc9cdb1db6ce5f134b3420c3)
Merge pull request #523 from huitseeker/issue/backport-tokenize-1001866-juno

[Backport] Backport changes to the ScalaCodeScanner tokenizer
Merge branch 'backport/semantic-highlighting-on-classfiles' into backport/juno/semantic-highlighting-on-classfiles
Merge pull request #520 from skyluc/backport/511

Backport/511
Merge pull request #526 from dotta/backport/juno/semantic-highlighting-on-classfiles

Backport/juno/semantic highlighting on classfiles
Merge remote-tracking branch 'origin/release/scala-ide-3.0.x' into merge/3.0.x-into-3.0.x-juno
Merge pull request #538 from dotta/merge/3.0.x-into-3.0.x-juno

Merge/3.0.x into 3.0.x juno
Merge branch 'release/scala-ide-3.0.x' into release/scala-ide-3.0.x-juno

Bringing the Juno branch up to date.
Merge remote-tracking branch 'origin/release/scala-ide-3.0.x' into merge/3.0.x-into-3.0.x-juno
Merge pull request #560 from dotta/merge/3.0.x-into-3.0.x-juno

Merge/3.0.x into 3.0.x juno
Make pointcut pick up subclasses of ScalaJavaBuilder.

This fixes a problem at a customer (cleaning output folders, leading to
empty output folders after successful builds), but I could not reproduce
locally. Confirmed it works for said customer, so rolling back to main
project.
Merge pull request #599 from dragos/issue/pointcut-allow-subclasses

Make pointcut pick up subclasses of ScalaJavaBuilder.
Cache info about jar files that might contain Scala classifies.

Deciding wether a class file is produced by Scala is expensive (it entails
parsing the binary). Instead, we cache the information per package fragment,
assuming that a jar contains Scala-only or Java-only classifies. For
mixed Java/Scala jars, behaviour depends on the first classfile that is
accessed. It might lead to using the Java icon/classfile editor for
Scala classfiles.

A more fine-grained strategy could be used (caching per package, instead
of jar file), but this patch has been running at a customer and solved
the issue, so we go for the tried-solution.

Fixes #1001999
(cherry picked from commit 492a546df849aa75d316bb8c95ee9c8b981f998d)

Conflicts:
	org.scala-ide.sdt.core/src/scala/tools/eclipse/javaelements/ScalaClassFileProvider.scala
Add synchronisation around map `getOrElse`.

Needed for proper visibility, in case this code
is called on different threads.
Merge pull request #611 from dragos/release/scala-ide-3.0.x-juno

Backport caching jars
Bump version number to 3.0.3.
Merge pull request #614 from dragos/release/scala-ide-3.0.x-juno

Bump version number to 3.0.3
Removed the extra source folder in sdt.core that allowed master to compile with
both Scala 2.9 and Scala 2.10

Fix #1001674

(cherry picked from commit 5871ac2602e838417d62c2cab2c29f77751d2b25)
JVMUtil went away, workaround that.

(cherry picked from commit 2dfb6f4d66cfb5e49839807d37b10bb084935ca3)

Conflicts:
	org.scala-ide.sdt.core/src/scala/tools/eclipse/javaelements/ScalaJavaMapper.scala
Removed the Refined build manager.

Fixes #1001422

(cherry picked from commit f8c5241c2e494814cdc6c87dc62852fa772d1640)

Conflicts:
	org.scala-ide.sdt.core/src/scala/tools/eclipse/buildmanager/sbtintegration/EclipseSbtBuildManager.scala