use new UnParse version:
 - position is tracked as state, not by annotated tokens
 - concrete syntax tree changed to require less wrangling in parser:
   save/loop/data opens and closes are CST terms instead of bare primitives
 - tests need to be updated
get parser tests working with new implementation:
 - error stacks, which convey more information about the context
   of errors
 - post-munch instead of pre-munch.  for semicolon-strings, infer
   newline based on column position of 1, obviating the need for
   a special pre-munching rule for it
 - change some error messages to be more precise.  This is a result
   of the stack error messages:  each message has to do less, since
   the additional layers can pick up the slack
fix up unit tests for remaining modules; make sure that semicolon-strings also post munch