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
Added a Scala preference for Mark Occurrences

Added a toolbar button for quick access.
Fixes #1001466
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.
Bumped version to 4.0.0.
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.
The keyword 'requires' is no longer shown as keyword

The parsing is done by Scalariform. Because it treats 'requires' still as a keyword,
it needs to be translated to default content type.

Fix #1000750
Reformatting of ScalariformToSyntaxClass
Merge pull request #302 from dragos/bump-master-version

Bumped version to 4.0.0.
Fixes problems in preference state sharing

Using only Boolean, and correctly starting the toggle handler listener.
Initialize symbols for primitive types on compiler startup.

The nightly build uncovered a race condition in the indexer, that stepped on
a case where `definitions.ShortClass` was not yet loaded, triggering the
symbol loader.

Needs back port. Should fix flaky presentation compiler tests.
Merge pull request #305 from sschaef/issue/requires-keyword

Issue/requires keyword
Disabled flaky debugger ``RemoteConnectorTest`` tests class

Re #1001464
Merge pull request #311 from dotta/issue/disable-debugger-remote-tests-1001464

Disabled flaky debugger ``RemoteConnectorTest`` tests class
Merge pull request #299 from skyluc/issue/mark-occurrence-preference-1001466

Added a Scala preference for Mark Occurrences
Merge pull request #310 from dragos/issue/indexer-race-condition

Initialize symbols for primitive types on compiler startup.
Moved askReload calls to the Eclipse reconciler mechanism.

You can now register files for reloading in ScalaPresentationCompiler.scheduleReload
They are flushed at reconciliation, and reconciliation updates the error annotations
proper structure for ErrorAnnotation update