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.
Make stepping as fast as in the JDT debugger.

Two performance improvements in the way we handle stack frames:

* make `variables` lazy. This way we don't retrieve variables values
  unless they are needed (most of the times, they are needed for only one
  frame in a full thread stack). Retrieving values requires a roundtrip
  to the debugged VM, hitting the network stack.

* don't fire DebugEvents for creation of stack frames. This is the
  time consuming part: each frame (can be hundreds) fires one CREATE
  event that is put in a queue and a job-dispatch is scheduled to run for
  *each* frame in part. This floods the event queue and leads to
  lag times in the order of seconds (depending on the stack depth).

I checked (in the debugger) that the JDT debugger does not fire CREATE
events for stack frames, so I'm suggesting we do the same thing.
Adds documentation to classpath validator.
Merge pull request #303 from skyluc/issue/classpath-validator-preference-1001482

Adds a preference for the classpath validator
Merge pull request #317 from dragos/performance/stepping-improvements

Make stepping as fast as in the JDT debugger.