Refactor scala version comparisons, better handling of unkown versions
Extends compatible versioning to cover for the XSource case.

Changes Error to suggest use of the XSource flag.
Reuses ScalaVersion from the compiler.

De-Optionalizes, De Stringifies version comparisons
Relegates Xsource setting computation to projects

THis prohibits from having a workspace-wide Xsource setting, for now.
Treats absence of XSource configuration as exception
Remove cruft, hardens version spec in prefstore
corrects the case where the user adds the XSource flag on a modern code base

Fixed error message
Cleaner error messages on version checks.
Hardens classpath test sequence
Uses the rigth preference store

Conflicts:
	org.scala-ide.sdt.core.tests/src/org/scalaide/core/classpath/ClasspathTests.scala
Merge pull request #669 from huitseeker/issue/Xsource

Xsource internal support & ScalaVersion upheaval