Optionally end blocks with {% "end"+name %} tags, nest comment tags, etc.

* Allow for nested comment tags (i.e. {# ... {# ... #} ... #})
* In an end tag, optionally specify the name of the opening block tag
The name must be preceded with "end". Jinja & Liquid have this style.
* TextNode.repr improved
* indent_filtered no longer used (plain indent used instead)
* Other generic improvements