Fix `NoSuchElementException` in case no selection exists

I have no idea in which case a selection changed event is sent that
doesn't contain a selected element, but this commit doesn't let the
exception occur anymore.
Merge branch 'master' into save-actions2

Conflicts:
	org.scala-ide.sdt.core/src/org/scalaide/ui/internal/editor/decorators/semantichighlighting/SemanticHighlightingReconciliation.scala
	org.scala-ide.sdt.core/src/org/scalaide/ui/internal/editor/decorators/semantichighlighting/SemanticHighlightingReconciliationParticipant.scala
	org.scala-ide.sdt.core/src/org/scalaide/ui/internal/handlers/MissingScalaRequirementHandler.scala
Fix compilation error after merge
Do not apply changes in preference page multiple times

In case both the `Apply` and `Ok` button are pressed, all changes were
applied two times (and therefore no change happened at all).
Fix test failures after changed test suite

Because the test suite now watches compilation errors, the tests did no
longer succeed (they were broken since the beginning).