Add `EditorUtilsTest` to check correctness of text selections

Includes the test suite and some first tests.
Add tests that check changes after cursor position

The test suite logic had to be updated accordingly.
Restore correct cursor position when cursor is before removed range

In case there exists a multi text edit, which removes text before and
after the text selection, the cursor wasn't correctly restored.

The implementation need to find all regions that exist before the text
selection and only subtract them from their size from the old cursor
position in order to create the new position. Because the implementation
also needs to find out if the text selection intersects with a changed
region it is easier to find all regions that exist after the selection
and subtract their size from the entire size of the change.
Cursor correction after text is added after cursor position

We need to look if text is added to subtract it from the offset that
needs to be corrected.
Correct test suite to handle changes where cursor inside of range
Update test suite and add tests to handle text selections

Tests that test unimplemented behavior are ignored. The cases 1-6 are
documented in the test suite.

The logic in `applyMultiTextEdit` has changed in so far that all
selections that overlap a region in any way are treated as overlapping
and not only selections that are completely inside of a region.
Implement fourth case to preserve text selection

In this cases the entire content that was selected is deleted, therefore
the new selection has a size of zero.
Implement behavior for last selection tests

All cases 1-6 are now correctly implemented.
Refactorings in `EditorUtils.applyMultiTextEdit`
Rename `EditorUtilsTest` to `TextSelectionTest`
Add helper classes for Eclipse region related types
Replace ⇒ and → with their ASCII variant
Merge branch 'master' into correct-selection-after-multi-edit

Conflicts:
	org.scala-ide.sdt.core/src/org/scalaide/util/internal/eclipse/EditorUtils.scala
	org.scala-ide.sdt.core/src/org/scalaide/util/internal/eclipse/RegionUtils.scala
Cleanup Hyperlink creation.

- removed HyperlinkFactory and friends
- add `mkHyperlink` to `IScalaPresentationCompiler` (similar to completion proposals)
- move implementation class to `core.internal.hyperlink`
Moved classes to internal package and remove useless `Composite` class.
Make the hyperlink detector automatically translate regions.
Add factories for hyperlink detectors.
Add a way to configure the label, and a default implementation.

This was needed for the Play route editor.
Remove removed packages from MANIFEST file.
Quick fix for hyperlinking between Play templates