Scala Source Level + Xsource UI support and validation

This is an extension of #692

It adds a sourcelevel toggle in the compiler option arguments, along with facilities to set the '-Xsource' and '-Ymacro-expand' flags with it.

It uses sparce propoertychange listeners (ScalaProject) and the classpathCheckLock to avoid concurrency issues.

It also bundles the features of the previous PR:
- Xsource Prompt on Classpath validation
- StatusHandler support for Missing Scala requriement, launch Error