Reorders val declarations to fix init problem

Fixes #1001784
Merge pull request #467 from skyluc/issue/initialization-fails-using-wizard-1001784

Reorders val declarations to fix init problem
Quickfix to change the capitalization of a method/field invocation

When you try to invoke a method that doesn't exist on a class, this quickfix will offer to change the capitalization if there is another method with the same spelling but different case that exists. For example, changing "abc".subsequence(0, 1) to "abc".subSequence(0, 1).

One limitation is that the compiler will not give type completions after an error. To get around this, we create a Typer and ask for the type of the target, and then get all members on that target. Unfortunately this does not include members that would be available via implicit conversion.
This limitation applies any time you are trying to invoke a method on anything other than the current class. If you are using the unqualified "someMethodWithWrongCase()", we can ask for completions that include members from implicit conversions.

Fix #1001778
Semantic Highlighting now works on classfile source attachments

Created a `ScalaCompilationUnitEditor` that contains the logic common to
both the `ScalaSourceFileEditor` and the `ScalaClassFileEditor`. In particular,
the logic needed to install/dispose semantic highlighting is encapsulated in
`ScalaCompilationUnitEditor`.

It is worth pointing out that the initialization of the Semantic Highlighting
engine is different for the two editors. On the one hand, on an editable scala
source, semantic highlighting is triggered by the reconciler. On the other
hand, for a classfile source attachement, no reconciler is needed (because the
source file can't be edited), hence semantic highlighting needs to be forced at
initialization. This is why in `ScalaCompilationUnitEditor` we have the
following two additional abstract methods

* `forceSemanticHighlightingOnInstallment`
* `createSemantichHighlighter`

This commit comes with no tests because it is not possible to avoid the loading
of UI classes.

Fix #1000939
Integrated reviewers' feedback
Merge pull request #466 from huitseeker/issue/test-output-to-file

Add test ouput to file when test fails
Merge pull request #458 from dnadolny/quickfix-change-case-1001778

Quickfix to change the capitalization of a method/field invocation
Correct completion for no-args method

Method are now completed according to their definition, i.e., if the method was
declared with parens, the completion engine inserts the empty parens.

Fix #1001766
Merge pull request #446 from dotta/issue/fix-completion-insertion-for-empty-params-method

Correct completion for no-args method
Merge pull request #452 from dotta/issue/semantic-highlighting-on-attached-sources-1000939

Semantic Highlighting now works on source attachments
Cleanup locate() and friends.
Interactive scaladoc.

Add interactive scaladoc used when showing the hover and
when presenting scala symbol in the completion popup.

Fix #1000453, Fix #1000210.
Fixing ScaladocGlobalTrait initialization
WIP