New (faster!) template parser

This pull request:
* Replaces `ScalaCodeCompiler.TemplateParser` with the new, much faster  `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.
  * On a side note, all of the code generation and compilation in ScalaCodeCompiler has remained intact. Only its parser has been replaced. 
* 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**~~

*Also before being merged, I'd like to do some squashing, too :)*