Bump version number to 3.0.0-SNAPSHOT.

Once we bump the version, I can branch for release/3.0.x.

I removed some versioned dependencies between our own core plugins (sdt.debug
to sdt.core, sdt.spy to sdt.core), as I think they are not needed and are just
a pain to maintain.
Adds anon function and flags in cache

Creates an new map cache to store information about method containing the code
of anonymous functions, and method flags.
With tests.

Fixes #1001001
Merge pull request #295 from dragos/set-versions

Bump version number to 3.0.0-SNAPSHOT.
Merge pull request #296 from skyluc/issue/debugger-cached-method-flags-1001001

Adds anon function and flags in cache
Debugger code does not handle checked exceptions in many places

I've added a number of FIXMEs notes in the debugger codebase where checked
exceptions are not handled.

Furthermore, I've added a couple of comments that should help better understanding
some of the assumptions we have in the debugger module (this is related to the discussions
that happened in the [PR #219](https://github.com/scala-ide/scala-ide/pull/219))

Re #1001487
Merge pull request #294 from dotta/issue/unhandled-checked-exceptions-1001487

Debugger code does not handle checked exceptions in many places
Rebuild Scala projects after a global compiler settings change.

If the user changes compiler settings on the Scala Preferences page, all Scala
projects that 'inherit' these settings should be rebuild. The existing logic
was dealing only with the case where *project-specific* settings were changed.

Fixed #1001460.
Merge pull request #290 from dragos/issue/settings-refresh-build-1001460

Rebuild Scala projects after a global compiler settings change.
Update remaining <parent> references to the new version number.(cherry picked from commit 07599c7a1693a6df2beb227fd243ab1c41db3ef8)
This time, the "last" vestige of the 2.1.0 version number.
Add checks if the underlying project closed/not exists

There are scenarios, where project depends on other, closed projects -
this happens with IvyDE, which adds even closed projects to the dependency
list (of course, in that case, the generated jars added as well), but
these closed projects cause build failures for ScalaIDE, because it
doesn't expects that the underlying IJavaProject could throw exceptions.
So the general fix is to add checks before calling the critical methods,
and a catch block with logging.
 This fixes #1001465
Merge pull request #297 from gzsombor/handle-exceptions-with-closed-projects

Add checks if the underlying project closed/not exists, and catch JavaMo...
Attempt to fix spurious errors in the PC test suite.
Use a Job when reading classpath markers in test.

The source of flaky tests was race condition in the classpath validator:
* one thread removed the old markers and adds the new ones
* the test thread waits until it finds a marker (which can happen before they are
removed) and reads them again for validation (which can happen between 'delete'
and 'add')

The proper solution is to put the test reads inside a `Job` that is scheduled
on the same resource (the project), leading to proper synchronization.
Merge pull request #301 from dragos/issue/flaky-classpath-validator-test

Use a Job when reading classpath markers in test.