Fixing the OccurrenceCollectorTest for Scala 2.11.x

There is a slight difference between Scala 2.10.x and 2.11.x.

In Scala 2.11.x calls that are placed inside of constructors
that are generated by the compiler have NoPosition as their pos.
(It's a bit weird that they had a position in Scala 2.10.x
anyway since they are synthetic.)

This takes care of this edge case by being more specific about
what kind of occurrence we expect in the test; this should be
reasonbale since we don’t know how to deal with
synthetic symbols yet anyway.
Merge pull request #58 from mads379/fix-test-for-2.11

Fixing the OccurrenceCollectorTest for Scala 2.11.x
Search jobs can be canceled and show progress

The search jobs now show their progress by means of a
total percentage of the occurrences that have to be type-checked and
show which file is being type-checked right now.

Jobs can now also be stopped.

Fixes #1001737
Merge pull request #53 from mads379/1001737-show-progress-on-searches

Search jobs can be canceled and show progress
Make sure a file exists before searching the parse tree

Since everything is concurrent we can easily find ourselves in a
situation where the occurrence collector is used on a file that
doesn't exist anymore, so now we make sure that files exist
before trying to traverse the parse-tree.

Fix for #57 on Github
Merge branch 'master' of https://github.com/scala-ide/scala-search into ide-master
Step 1: Index Classes and Traits
Step 2: Index objects
Step 3: Given a location, find the declaration that contains it
Step 4: Find occurrences in super-position
Step 5: Find all subtypes of a given type