Attempt to fix spurious errors in the PC test suite.
Bumped version to 4.0.0.
Use a Job when reading classpath markers in test.

The source of flaky tests was race condition in the classpath validator:
* one thread removed the old markers and adds the new ones
* the test thread waits until it finds a marker (which can happen before they are
removed) and reads them again for validation (which can happen between 'delete'
and 'add')

The proper solution is to put the test reads inside a `Job` that is scheduled
on the same resource (the project), leading to proper synchronization.
Merge pull request #301 from dragos/issue/flaky-classpath-validator-test

Use a Job when reading classpath markers in test.
Merge pull request #302 from dragos/bump-master-version

Bumped version to 4.0.0.
Adds a preference for the classpath validator

The preference allows to disable the search for jars not compatible with the current version of Scala.
Limits the check to possible version of Scala >=2.8.0.

Fixes #1001482
Adds an extractor to check incompatible versions

The code is more self-contained.