Small improvement in ``CompletionTests`` test runner

If the test does not contain at least one occurrence of the expected marker,
fail the test.
Fixes test about ranking of completion proposals

For this to work we need to sort (in decreasing order) the completion proposals
returned by the ``ScalaCompletions.findCompletions`` methods. This needs to be
done only during testing because the JDT Completion Proposal component already
does it for us.

Interestingly, I believe this test was actually never run because of the bug in
the CompletionTest runner that I fixed in my previous commit (SHA:
48253e8de4daab7f5288030a8628d5053937c6ee).
Merge pull request #355 from dotta/feature/improved-completion-test

Small improvement in ``CompletionTests`` test runner
Fixed PC race condition in semantic highlighting

I see no reason for treating Tuple/Function in ``AppliedTypeTree`` nodes any
different that any other type application. Furthermore, if you look at the two
``case AppliedTypeTree``, it looks like we don't really need the information.
All we need is **not traversing** the ``Select`` of the ``AppliedTypeTree`` if
it doesn't appear in the source code (i.e., it doesn't have a range position),
which is what I do with this commit.

Fixes #1001623