Reformat according to JetBrains guidelines
Hb: presentable HbPsiFile.toString
Hb: complete {{ with }}
Hb: keyword completion
Hb: fixed close double braces completion
Hb: Refactor tests
Hb: Fix formatting inside "do not indent" elements

Update the formatter to play nice with html elements on the "Do not
indent children of" list in Settings->Code Styles->HTML.

Also update the tests to ensure that the same "Do not indent children
of" list is always used for testing.

Reported in https://github.com/dmarcotte/idea-handlebars/issues/58

Conflicts:
	test/src/com/dmarcotte/handlebars/format/HbFormatterTest.java
WEB-8303 Setting template data language for a mustache file, gives an error
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

Conflicts:
	resources/messages/HbBundle.properties
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: 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.
WEB-9328 Handlebars/Mustache plugin exception in WS 7