Move BasicCompletionProposal to public API
Cleanup in ImportCompletionProposal

The superclass BasicCompletionProposal already provides all necessary
behavior.
Refactorings in AddValOrDefProposal

The supertype BasicCompletionProposal is added
Create image on UI thread

Previously the image would have been created on the compiler thread,
which would have been a problem because creating images can only be done
on the UI thread.
Fix possible race condition in AddMethodProposal

Creating a refactoring needs to be done on the compiler thread.
Rename quickfix package to quickassist

There is no need to differ between them. Quick fixes are also quick
assists, therefore it is enough to only use the latter word.
Introduce better EclipseUtils.withSafeRunner method
Create our own API for quick assists

This introduces our own API for quick assists. This API is needed in
preparation for save actions. Save actions will introduce a document
provider that is not used by JDT, which will lead to the problem that
quick assists do no longer work. Our own quick assists allow us to
evolve them once save actions are available.
Remove JDT quick assist extensions

They are now superseded by our own API.
Add quickAssist extension point

This is our own extension point for quick assists. No need to use the
one from JDT.
Add class QuickAssistMapping

A mapping class for Eclipse configuration that provides a better API.
Allow quick assist processor to only execute a single assist

This contains also a change of the provided default handler - no
separate handler is provided anymore.
Use ScalaSourceFile as dependency in QuickAssist

This has the advantage that no JDT API needs to be used for this case.
Another change is that no problems are computed anymore when no quick
assists are found.
Move ScalaQuickAssistProcessor to new quickAssists extension point

Instead of calling all existing quick assists inside of
ScalaQuickAssistProcessor the new extension point quickAssists is used
to call the separate assists.
Fix "expand implicits" quick fixes

With the introduction of the new HTML hover, the annotation message for
implicit conversions and arguments has changed.

Fixes #1002283
Move ScalaQuickFixProcessor to new quickAssists extension point

This is the same refactoring as the one that happened for
ScalaQuickAssistProcessor.
Add ScalaEditorAnnotation

This annotation helps to to simplify the new quickAssists extension
point. Annotations are now directly passed to the quick assists. This
means that they no longer have to search for them by themselves, which
speeds ups the whole process.

Another advantage of this change is that no dependency to JDT for the
quickAssists extension point is used anymore.
Adapt quick assist test suite for new quickAssists extension point

Most of the tests are bad and because they rely on UI behavior they
can't even be run by the build server. But the tests exist and I don't
want to remove them. If someone has more time available it would be
nice if this person could move tests completely away from UI classes.
Provide documentation for the new quick assists classes
Replace ScalaSourceFile dependency with InteractiveCompilationUnit

The former is internal API.