Narrow the return types to API types in tests.

This should drastically reduce the number of internal “hits” in plugins.
Don’t call `openWhenClosed` if the compilation unit is consistent.

`openWhenClosed` is expensive: it requires a partial type-check and forcing all
symbols in order to build the structure of the file. It seems to be called
on the UI thread, on every save, twice. This makes the second call a no-op,
and is exactly what the method we’re overriding is doing. This makes it more
responsive, and seems and sane.
Merge pull request #830 from dragos/api/narrow-return-types-in-tests

Narrow the return types to API types in tests.
Merge pull request #831 from dragos/issue/double-make-consistent-calls

Don’t call `openWhenClosed` if the compilation unit is consistent.
re-establish the build.
Fix thread check failure in reporting string of Implicit Highlighter

Fixes #1002295.
Merge pull request #832 from huitseeker/issue/1002295

Fix thread check failure in reporting string of Implicit Highlighter
Add missing Export-Package declarations.
Merge pull request #833 from dragos/issue/missing-exports

Add missing Export-Package declarations.
Update to next version of build-tools
Merge pull request #834 from skyluc/pretag/4.0.0-rc1

Update to next version of build-tools
Remove last calls to `JavaUI.getDocumentProvider`

With the introduction of `ScalaDocumentProvider`, this method no longer
returns the correct document provider.
Merge pull request #835 from sschaef/fix-last-document-provider-calls

Remove last calls to `JavaUI.getDocumentProvider`
Don’t crash when the region is outside the underlying string.

This re-instates behaviour from before the API work.

Fixed #1002302
Merge pull request #837 from dragos/issue/semantic-highlighting-crash

Don’t crash when the region is outside the underlying string.