Hb: Add support for \\{ escapes

See here for related Handlebars commit:
https://github.com/wycats/handlebars.js/commit/9e4b59e815b1f557c31fe5abc36b9be8aa0cf34a#src/handlebars.l
Hb: Add unicode support for ID tokens

See here for related Handlebars commit:
https://github.com/wycats/handlebars.js/commit/c1020a01309723b00ef21525d7f8093efb4d0d93#src/handlebars.l
Hb: Add support for complex ids in @data references

Also removes support for custom highlighting on DATA elements; this is
a small sacrifice that keeps maintenance lower by staying closely
aligned with the official Handlebars.js lexer

See here for related Handlebars commit:
https://github.com/wycats/handlebars.js/commit/822a8911ecd4ffe822fd82afbf7b24704e79f787#src/handlebars.l
Hb: Allow ID, STRING, or INTEGER for partial name

See here for related Handlebars commit:
https://github.com/wycats/handlebars.js/commit/da2aabe7bdc75e29178d920332fad9de183de8a0#src/handlebars.l
Hb: Formalize Mustache "names" in PSI tree

Formally wrap the part of a mustache which is it's "name" to clean up
a number of lookups which rely on this (i.e. auto-insert of close tags
needs to grab the name to write the correct closer).

This also makes the structure of mustache names analogous to the
structure of partial names in the PSI tree.
Hb: Require matching braces in escaped expressions

See here for related Handlebars commit:
https://github.com/wycats/handlebars.js/commit/58a0b4f17d5338793c92cf4d104e9c44cc485c5b#src/handlebars.l
Hb: Avoid some inappropriate close tag inserts

Only auto-insert close mustaches for unclosed open mustaches, and only
on the "}" which completes the close tag.  This avoids many odd/wrong
auto-inserts
Hb: Enable generalized color scheme support

Use DefaultLanguageHighlighterColors to get support for all default
color schemes (plus newer custom schemes which are correctly defined).
See http://confluence.jetbrains.com/pages/viewpage.action?pageId=49463468
for more details.

Also update the icon to play nice with both light and dark themes.
Hb: Restore code to suppress native "}" insert

We were almost able to remove this code, but unfortunately the native
"}" insert still fires after three (or more) "{" characters.  This is
a common editing case since the unescaped mustache is "{{{".
Hb: Update brace assist to properly complete }}}

On type of "}" when closing something like "{{{foo", we now insert "}}}"
(as opposed to the "}}" this code previously inserted).

Also refactor Psi object tree a bit to formalize what a mustache is.
Hb: Delete stale todo
Hb: Fix auto-insert close tag regression

ec05f51a7292795f633ed7939e7a2f2546c2ee55 introduced an issue which
prevented nested close tags from being inserted.  Reverting the part
of that commit which attempted to suppress auto-insert of already closed
tags solves this.