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
Implement 'Search test methods' in the Scala JUnit4 test runner.

Hook into the JUnit test configuration tab and implement the
Search Methods button functionality. We use aspects to intercept
the right call, and route it to our `ITestKind` implementation.

Fixed #1001474
Correct behavior of multi line comments before string literals

This is not a full fix for the problem that multi line comments are not
automatically closed when they are followed by a string containing the
*/ sign. It is difficult to completely solve this problem because
whenever one opens a multi line comment with /* the rest of the document
does no longer contain any partitions because the comment spans the
complete content. Thus, it is not possible anymore to detect if the
closing sign */ is located inside of strings or not.

The behavior introduced solves the problem as good as possible. What it
does is it looks if the line containing a */ sign contains a quotation
mark. If this is the case it is assumed that the ending is located
inside of a string literal, thus the multi line comment is closed.

This fix doesn't work if the */ sign is located inside of multi line
string literals or if the string literals aren't even closed but it
helps at least partially.

Fixes #1001515
Add option to preferences to activate auto closing multi line comments
Clean projects in a background job when project settings' change

Cleaning the projects in the UI Thread was causing UI freeze. The
fix is really simple: clean the projects in a background job.

Note: The implemented solution is inspired by the Eclipse
      ``CleanDialog`` component.

Fixes #1001527
Merge pull request #323 from dotta/issue/project-settings-should-not-trigger-rebuild-in-ui-thread-1001527

Clean projects in a background job when project settings' change
added rudimentary script to generate a Changelog and parse logs for Fix messages
Merge pull request #318 from dragos/issue/junit-search-methods-1001474

Implement 'Search test methods' in the Scala JUnit4 test runner.
Possible deadlock fix.

Two actors sending each-other synchronous messages
may deadlock. Break the cycle by making one of them
async.

The cycle is:

* a classPrepare event is fired, and listeners are
  notified
* a breakpoint is deleted, and the breakpoint support
  actor de-registers from load events.

I couldn't write a test to exercise this scenario,
but I think it's worth discussing and see if we can
ship it as is.

I moved most sync message sends to `send with timeout`.
Two sync message sends are still in the code base:
one for debugging and one for initialising the 
breakpoint manager.

Fixed #1001512
Merge pull request #316 from dragos/issue/deadlock-debug-cache

Possible deadlock fix.
More robust against VM exceptions.

* clearly report an actor shutting down because of an uncaught exception
  using the Eclipse Error log
* gracefully handle the common VM exceptions.

This is not exhaustive (a handful of FIXME notes are still in the codebase),
but it is a step in the right direction and fixes a number of issues I've
been seeing lately.

Fixed #1001328, Refs #1001487.
Typo correction, thanks @dotta
Merge pull request #326 from huitseeker/issue/script-to-generate-changelog-1001462

added rudimentary script to generate a Changelog and parse logs
attribute merges to the branch author, NOT the merger
Revert "Merge pull request #269 from mads379/parsetree-1001326"

The parse-tree changes have been merged in Scala [pull 1982](https://github.com/scala/scala/pull/1982),
so there is no need for it anymore. Moreover, the presentation compiler must *not* be interrupted
while parsing on a foreign thread, and that can't be ensured in this commit (but is correctly ensured
in the Scala changeset). Since this branch is used with 2.9.3, there is a potential for race conditions.

This reverts commit 712e6bf5eb983a18aac03294c0656519d53ac634, reversing
changes made to 4f7b391cf1a64c6d906263afc2ebd0928bf4cb4d.
(cherry picked from commit 209133c903f2b9edf1c84fea0060374e40ded9c8)
Use Scala specific task markers.

Don't use Java task markers for Scala sources, as the Java builder
removes them all on "full build", which is what we trigger from the
Sbt build manager if:

* Java sources need recompilation
* resources (non-source files) exist on the source path (so they are 
  copied to the output folder)

This commit adds a Scala specific marker type (subtype of the Java one)
that preserves all functionality, but is only handled by our code.

Fixed #1001401, #1000975.
Modified the script to pick up commits that were NOT introduced through a merge.
(since we do many backports this way)

Cherry-picks are attributed to the picker, though, NOT to the original author.