Copy old template tests to new version.
Allow block markup inside nested blocks (e.g. tables)

Since this is often indented, does not treat indented blocks as code
blocks. This is inconsistent for lists, so maybe indented blocks in
lists should always be code, or never be code. Or maybe it should be a
bit smarter about nested indented blocks.
Allow block markup in phrase templates.
Disallow paragraph/list markup in phrase templates.

Can still use block tags.
Single state saver.

It's always okay to save `template_depth` and `min_section_level`
because they only change at template calls, and template calls are
always cleanly nested.
Expand all phrase templates inline, even if they contain blocks.

Hopefully more intuitive than turning what looks like a phrase into
a block.