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
Resolve exception when using type mismatch quick fix

This is a regression due to refactorings in 8f42b9de31c9365d6f9c.

The regex that was used to check an internal message was updated to
work with Scalas new string interpolation feature. Unfortunately,
while the regex was the same the semantics changed because it was
tried to insert and extract a value into and from the string
interpolator at the same time, which is in this situation not possible.

Fixes #1001809
Merge pull request #483 from dragos/fix/race-condition-cached

Sync 'isDefined' in presentation compiler cache.
Updated sbt.version to 0.13.0-RC4
Merge pull request #484 from dotta/transient/update-sbt-to-rc4

Updated sbt.version to 0.13.0-RC4
Merge pull request #479 from sschaef/t-fix-type-mismatch-quickfix

Resolve exception when using type mismatch quick fix
Updated sbt.version to 0.13.0-RC5
Merge pull request #492 from dotta/transient/bump-sbt-version-number-to-RC5

Updated sbt.version to 0.13.0-RC5
Updated our build to use Zinc artifacts

Updated our build to use the Zinc artifacts built and published by dbuild.  The
main advantage is that we no longer need to build and publish the Sbt artifacts
(which are exactly the same used by Zinc) that are used in the Scala IDE for
incremental compilation.
Two new profiles for supporting legacy and new sbt dependencies

This commit allows us to move our build to consume the sbt artifacts created
and published by dbuild using [the following
configs](https://github.com/typesafehub/sbt-builds-for-ide), without breaking
the [Scala/IDE integration
script](https://github.com/scala/jenkins-scripts/blob/master/job/pr-scala-integrate-ide),
i.e., we maintain backward compatibility.

This of course is only meant to be an interim solution, in fact we are already working
on updating the Scala/IDE integration script to be compatible with the new build. However,
it will take some time before we can ship the new integration script, hence the idea of
supporting both way of building for a short amount of time.

One inconvenient of doing so is that a new profile must be now passed to the build.

* sbt-new: This is the profile defining the new sbt dependencies. In general, you will
           always want to run the build with this profile enabled.

* sbt-legacy: This is the profile allowing compatibility with the Scala/IDE integration
              script. There is really no reason for you to use this, unless you know what
              you are doing.

Once the transition to the new sbt dependencies is performed, we can revert this commit.

Credit for this commit goes to @huitseeker
Fixes wrong cursor position after completion overwrite

When completion overwrites is enabled the cursor moved to a different
position when a completion that needs an import is inserted. It was
just forgotten to add the number of signs the import contains to the
new offset of the cursor.

Fixes #1001797
Merge pull request #472 from dotta/issue/move-to-externally-built-sbt-artifacts

Updated our build to use Zinc artifacts
Removed unused properties and small cleanup in POMs

* Removed any reference to 2.9 profile
* Removed special-casing of dependencies due to Scala 2.9 (this is
  no longer needed as we dropped support for 2.9 a while ago)
* Removed a few properties that were not referenced.
Do not export sbinary and jline packages in ``org.scala-ide.sbt.full.library``

We don't seem to need to export the sbinary and jline packages. Moreover, we
used to export these packages with the **wrong** version number, i.e., we were
using the ${sbt.version}, instead of the actual version the sbt build file
declared for these dependencies. Hence, I think we are better off not exporting
these packages anymore in the MANIFEST produced for
``org.scala-ide.sbt.full.library`` bundle.
Merge pull request #493 from sschaef/t-1001797-move-cursor-on-completion-overwrite

Fixes wrong cursor position after completion overwrite
Merge pull request #495 from dotta/transient/poms-refactoring

Transient/poms refactoring