Added a Scala preference for Mark Occurrences

Added a toolbar button for quick access.
Fixes #1001466
Bumped version to 4.0.0.
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.
Adds a preference for the classpath validator

The preference allows to disable the search for jars not compatible with the current version of Scala.
Limits the check to possible version of Scala >=2.8.0.

Fixes #1001482
Adds an extractor to check incompatible versions

The code is more self-contained.
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.
Activate CommentAutoEditStrategyTest
Correct auto indentation after line breaks in multi line comments

There was a bug with auto indentation for lines starting with spaces,
because all spaces in a line are counted instead of only the ones
before the caret position (the position where the line break happens).

Fixes #1001514
Corrects behavior for auto closing multi line comments

The new behavior matches the behavior of the Java Editor and is also
more useful because if one wants to place a multi line comment before
regular source code, one should do this in the line before and not in
the same one.

Fixes #1001516
Solves bug in CommentAutoIndentStrategy

Because of the new introduced Scaladoc code blocks the end of open
Scaladoc comments was not correctly detected anymore. Before, there was
looked if the actual partition reaches the end of the file, now it is
looked if the last partition of the file is a Scaladoc partition. This
makes a difference because Scaladoc comments are divided into multiple
parts when they contain code blocks, thus the part containing the start
of the Scaladoc section is not the same as the part containing the end
of the Scaladoc section.

Fix #1001463
Make stepping as fast as in the JDT debugger.

Two performance improvements in the way we handle stack frames:

* make `variables` lazy. This way we don't retrieve variables values
  unless they are needed (most of the times, they are needed for only one
  frame in a full thread stack). Retrieving values requires a roundtrip
  to the debugged VM, hitting the network stack.

* don't fire DebugEvents for creation of stack frames. This is the
  time consuming part: each frame (can be hundreds) fires one CREATE
  event that is put in a queue and a job-dispatch is scheduled to run for
  *each* frame in part. This floods the event queue and leads to
  lag times in the order of seconds (depending on the stack depth).

I checked (in the debugger) that the JDT debugger does not fire CREATE
events for stack frames, so I'm suggesting we do the same thing.
Adds documentation to classpath validator.