parser combinators:  remove Result, depending on MaybeError instead.  update tests
refactor Parser, clarify interface, and tests