Sync 'isDefined' in presentation compiler cache.

This fixes one race condition when hyperlinking between
projects. Project 'client' depends on project 'base'.
The sequence of events was:

- dependent project 'base' starts building
- the indexer for `client` kicks in and starts the PC. The PC is not
  yet initialized. PC starts without `base` classfiles on its class path
- `base` finished building and triggers a reset of the PC for `client`,
  that normally restarts with `base` classfiles on the class path
- reset is ignored (PC is still starting, and `isDefined` returns false)
- hyperlinking fails, because the target is not available on the class path
Updated sbt.version to 0.13.0-RC5
(cherry picked from commit e1815ed519ab93abaf35b514331af0a6fcc54a87)
Merge remote-tracking branch 'upstream/release/scala-ide-3.0.x' into release/scala-ide-3.0.x-juno
Merge pull request #491 from huitseeker/fix/race-condition-cached-juno

[Backport] Sync 'isDefined' in presentation compiler cache.
Overrides Java launch method to find existing Scala launches

Since Eclipes 3.8, a package private method is used by JavaLaunchShortcut
to find existing launch configurations for a given type.
Overrides the Java launch method to use different logic to find the Scala
launch configuraitons.

Fixes #1001447
(cherry picked from commit d68c6cff184125505e34f6d51b165bb3a24f5d32)
Merge pull request #510 from skyluc/backport/508

Backport/508