bumped default scala version 2.9.x -> 2.10.x
Correct syntax highlighting for while-keyword

While syntax highlighting correctly recognizes the while-keyword as a
keyword, semantic highlighting treats it as a method. Because semantic
highlighting is activated after its syntax counterpart, it overwrites
the previous detected colors.

The new behavior omits all occurrences of LabelDef in the AST because
they don't regularly appear in Scala sources but represent while- and
do-while-keywords internally in the compiler. Hence they must not be
highlighted.

Fix #1000984
README now contains exhaustive developers guidelines
Merge pull request #283 from dotta/feature/developer-guidelines

README now contains exhaustive developers guidelines
Merge pull request #282 from huitseeker/feat/bump-scala-default-version

Bumped default scala version 2.9.x -> 2.10.x review by @dotta
Gracefully handle unknown JDK classpath containers.

If the JDK required by the project does not exist, `getClasspathContainer` returns null.

Fixed #1001249.
Merge pull request #281 from sschaef/issue/while-highligting-correction

Correct syntax highlighting for while-keyword - Fix #1000984
No need to block the whole workspace to add a marker.

Resources do the necessary scheduling already inside `createMarker`.
Formatting.
Issue errors if the class path contains cross-compiled libraries with a different major version of the Scala compiler.

Identify jars with `name_2.x.y-??.jar` and compare the plugin version with the one in the name, issue errors for each library that is not compatible.

Fixed #1001441.
Reviewer's comments.
Properly initialize Scala editor (quick fix/interactive error reporting works even before a save).

Compilation units in the JDT are backed up by a `buffer`, holding the source that 
hasn't been saved yet. We use the buffer to get notification of character changes,
and in turn notify the presentation compiler. Without a proper buffer, errors (and
quick fixes) are not reported either.

Buffers are created lazily by the JDT, and we mimic the JDT code in 
`buildStructure`.

Fixed #1001094, Fixed #1001337.
Created a debug cache

Has support to keep track of nested classes as they are loaded.
With unit tests.
Re: #1001001
Integrated the debug cache to the debugger

It is used in for breakpoints and step-over.
Fixes the first part of the ticket: nested classes.
Re #1001001
Updated according to the review comments

Tweaked the API to accept any type, and always work on the outer type.
Improved a filter in step over.
Merge pull request #286 from dragos/issue/classpath-binary-validation

Validate cross-compiled binaries on the classpath
Separation of tokenizing logic from ScalaCodeScanner

To test the tokenizing logic, it was required to separate it from
the scanner because the scanner has dependencies to UI classes
that are not available in a UI-less testing environment.

The test class introduced in this commit is needed because it
doesn't yet exist. It contains test cases for all previous versions
of the ScalaCodeScanner including the changes done in PR #255.
Add syntax highlighting for @ and # signs

Fix #1001445
Merge pull request #285 from skyluc/issue/stepping-performances-1001001

debugger performance improvement (part 1)
Make the class path validator regexp stricter.

This protects against jars that might have a 2.x.y version number that looks like
a Scala version, but it's not. We check now that the third digit, if exists, is a
digit, not any character. (previously it would fail the aspects_2.1.0.nightly jar)