Enhance mismatched block mustache errors

Previously we only highlighted the close mustache in the case of a
mismatch, and we did not provide a quick fix (which users probably
expect if they are used to the XML/HTML editing capabilities).

Move the mismatch detection out of the parser and into an Annotation
object (and "Inspection") and add quick fixes for making the names
match.

Also smarten up the check to cover complex ids.  Previously we were only
ensuring that "foo" matched in "{{#foo.bar}}{{/foo.baz}}" and hence
missing errors in cases like these.