Add test ouput to file when test fails
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
Added ScalaCodeTokenizer.tokenize which takes a String instead of an IDocument.

ScalaCodeTokenizer.tokenize asked for a IDocument only to right away get the IDocument's contents and then never use it again. It makes more sense to just take the contents as a string directly, which is what this change does.
Also deprecated ScalaCodeTokenizer.tokenize(IDocument, Int, Int).
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
Fix potential resource leak caused by missing socket close statement
Refactorings for quickfixes

The relevance of quickfixes for the completion proposal is moved
to its own location in order to keep a better overview over them.
Merge pull request #463 from sschaef/resource-leak-fix

Fix potential resource leak caused by missing socket close statement
Improved new ScalaCodeTokenizer.tokenize API to minimise allocation of string objects on caller side.
Merge pull request #462 from jhaberstro/scala-code-tokenizer-interface

ScalaCodeTokenizer.tokenize takes String instead of IDocument.
Deprecated ScalaCodeScanner.tokenize(IDocument, Int, Int) incorrectly handled offset in generated tokens.

Also added a test.

Fixes bug introduced (into master) by SHA: e17b2ae97aaa5644d0cf1ad09ff6bc5ad039002a
Merge pull request #470 from jhaberstro/scala-code-tokenizer-fix

Deprecated ScalaCodeScanner.tokenize(IDocument, Int, Int) incorrectly handled offset in generated tokens.
Updated version of Sbt dependencies

Updated version of Sbt dependencies to 0.13.0-RC3-SNAPSHOT (when building
against Scala 2.10.3-SNAPSHOT), and 0.13.1-SNAPSHOT (when building against
Scala 2.11.0-SNAPSHOT).  The odd version number is due to the fact that we
rebuild Sbt artifacts every night against the latest Scala 2.10.3-SNAPSHOT and
2.11.0-SNAPSHOT, and hence the trailing SNAPSHOT is needed to make Maven happy.