Make pointcut pick up subclasses of ScalaJavaBuilder.

This fixes a problem at a customer (cleaning output folders, leading to
empty output folders after successful builds), but I could not reproduce
locally. Confirmed it works for said customer, so rolling back to main
project.

Fixed #1001995

(cherry picked from commit bcd85b3a3af3b00b3cb195b2561c1c880feac0b9)
Correct completion overwrite behavior when nothing is overwritten

This fixes the problem only partially because it is based on a
heuristic, but it should fix the most important cases.

The logic is overall very complex, nevertheless no tests are provided
because there exists no test suite that can test the contents of a
document after a completion happened and writing such a test suite is
not trivial.

Fixes #1001791
Don't skip trees with transparent positions when looking for references

Trees with a transparent position may contain trees with range
positions, hence we should make sure to:

1) Traverse tree with a transparent position, and
2) Only call `report` on tree that have an opaque range position.

This is a bug that was made apparent by the changes needed to fix the
Scala compiler ticket SI-4287.
Merge pull request #606 from dotta/issue/si-4287

Don't skip trees with transparent positions when looking for references
Merge pull request #600 from dragos/issue/pointcut-allow-subclasses-1001995

Make pointcut pick up subclasses of ScalaJavaBuilder.
Merge pull request #603 from sschaef/t1001791-correct-completion-overwrite

Correct completion overwrite behavior when nothing is overwritten
Ignored completion test causing spurious failures on 2.11 build

Re #1001973
Merge pull request #609 from dotta/issue/spurious-failure-on-list-completion

Ignored completion test causing spurious failures on 2.11 build