New template parser

This pull request:
* Replaces ScalaCodeCompiler.TemplateParser with the new TemplateParser
  * This new parser differs functionally only in that it can accept a trailing '.' after a method if it's explicitly given the flag to enable this feature.
* Optimizes several parts of the TemplateRegionParser
  * Using a StringBuffer in TemplateRegionParser.reset()
  * Reusing the initial partition tokens instead of reparsing the small scala code regions
* Fixes a few (related) TemplateRegionParser bugs
  * Several corner cases where templates braces and magic ats weren't being properly syntax highlighted
* Fixes a bug in completion that never revealed itself until now because beforehand it wasn't possible to complete after a trailing '.' of a method call.

**Note: this PR depends on the interface change in Scala-IDE introduced by this PR: https://github.com/scala-ide/scala-ide/pull/462**