TemplateRegionParser properly handles when scala code overlaps 2+ doc regions.

Certain characters (such as '&' and '<') when part of scala code would cause the XML parser to become "confused" and generated "UNDEFINED" document regions that appear in the middle of the scala code. This would in turn cause the code to not be properly highlighted since the TemplateRegionParser specifically wouldn't handle that scenario.. Now it does!

Fixes #167
New Template Editor now properly highlights @ and { of "reusable code blocks"

A leading { or @ in t "reusable code blocks" weren't properly syntax highlighted because the TemplateRegionParser wasn't looking for the magic at and template braces in default partitions that have the "=" character in it. This fix does a pass over those tokens and splits them into two distinct tokens (one with the '=' and the other with either the '@' or the '{').

Fixes #168
TemplateRegionParser refactoring for better maintability. Tests for #167/#168

The refactoring includes a number of changes:

* Avoids unneeded collections conversions
* Move common functionality into helper classes
* Removed a lot of immutability and imperative code in favour of pure/functional code where it made sense.
* Got rid of the LazyCache class (the old behavior is now emulated by
  creating a new instance of `TemplateRegionsComputer` when calling
  `TemplateRegionParser.reset`).
* Cleaned up several of the methods in the PartitionHelper class.
* A few other small things here and there.

There are now three new TemplateRegionParser tests that cover #167 and #168
Merge pull request #171 from jhaberstro/spanned-xml-doc-regions-and-syntax-highlight-fixes-#167-#168

Multiple spanned XML doc regions and "reusable code blocks" syntax highlighting fixes.
Bumped version to 0.5.0 for next development cycle
Updated plugin-profiles version to 1.0.1
Merge pull request #174 from dotta/bump-version-number

Bumped version to 0.5.0 for next development cycle
Merge pull request #175 from dotta/update-parent-pom

Updated plugin-profiles version to 1.0.1
Remove dead-code depending on sdt.core preferences.
Fix for negative style ranges in Template editor.

When adjusting lengths and text lengths of ITextRegion, the adjustment to be made was based off of the region's length. However, it's possible that the text length is smaller than the normal length, so if the adjustment was negative, it could cause the text length to become negative.

Fixes #177
Merge pull request #178 from jhaberstro/negative-style-ranges-#177

Fix for negative style ranges in Template editor.
Merge pull request #181 from dragos/refactor/remove-dead-code-prefs

Remove dead-code depending on sdt.core preferences.
Adds real content check to the content describer

To avoid the cases when play template editor code is used inside other
editors.
Fixes #176
Adds new template editor to HTML files

Adds the new template editor to the 'open with' submenu, for an easier
access in case the content type was incorrectly computed.
Merge pull request #182 from skyluc/issue/leaking-in-other-editors-176

Adds real content check to the content describer
Fixes the grammar definition for import statements

Fixes #186
Merge pull request #187 from skyluc/issue/keyword-starting-with-import-186

Fixes the grammar definition for import statements