Make the presentation compiler independent of a Scala project.
Remove status handler for missing Scala library, and instead use a marker resolver.

This removes the pop-up dialog for a missing Scala library when trying to instantiate
the presentation compiler. Instead, the error marker in the Problems View, which was
anyway created, now has a marker resolver (enabling QuickFix — Ctrl-1), just like
Scala Installations errors.

This makes it possible to remove the IScalaProject dependency from PresentationCompilerProxy,
which should be able to manage any presentation compiler (with or without an associated project).
Adds missing getOption() synchronization call

The previous getOption call (old API) was replaced by an asyncExec, it requires
a getOption() (new API) to wait for the execution of the code.
Merge pull request #798 from skyluc/issue/NPE-create-class

Adds missing getOption() synchronization call
Extract project-specific logic out of the PresentationCompiler proxy.

Also added a factory method in the API.
Decouple watchdog from compiler proxy through Pub/Sub.

Also fix some NPEs during tests.
Merge pull request #796 from dragos/api/compiler-project-disentangle

Disentangle presentation compiler and Scala project