Overhaul some of the template code.
* Store the location along with the contents of the template body, so
the location should usually be correct now. Exceptions are code
snippets, because they get rewritten, and the extra newlines added to
block template.
* Store if a template is a block template at the time of creation. Using
spirit to decide, rather than handwritten C++.
* Fix callout list markup.
* Fix the `skip_initial_spaces` stuff in `block.hpp`. This never really
worked before. No longer have to skip spaces in `parse_template` in
`actions.cpp`.
[SVN r64830]