Reindent body_ast function.
Fix for compile_dir fix.
Copy regroup tests w.o. endregroup tag.
Make endregroup tag optional (fixes #101)

Django does not have endregroup at all.
We keep it as optional for backward compatibility with ErlyDTL.

The dtl context has been moved into the treewalker record while
traversing the template AST, to allow it to change on any node.

Local scopes can now begin at any point in a block, and all
nested scopes are automatically closed when the block scope ends.