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
Merge branch 'master' into correct-selection-after-multi-edit

Conflicts:
	org.scala-ide.sdt.core.tests/src/org/scalaide/TestsSuite.scala
	org.scala-ide.sdt.core/src/org/scalaide/util/eclipse/EditorUtils.scala
	org.scala-ide.sdt.core/src/org/scalaide/util/eclipse/RegionUtils.scala
	org.scala-ide.sdt.core/src/org/scalaide/util/internal/eclipse/TextEditUtils.scala
Apply reviewer comments

- More documentation
- Remove handling of case 1 and 6, because they can't happen
Merge pull request #791 from sschaef/correct-selection-after-multi-edit

Correct selection after multi edit