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
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
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.
Merge pull request #327 from dragos/issue/debugger-shutting-down

More robust against VM exceptions.
Uses a specific scala version for the version updater
Organize imports.
Merge branch 'issue/wrong-scala-for-version-updater'
Merge pull request #330 from dragos/isssue/tasks-disappear-1001401

Use Scala specific task markers.