New DefaultParseRunner

This parse runner, unlike a basic parse runner, collects error messages from
rules.

If the rule does not have a custom error message, "parse error" is returned
instead.
MatchHandler: generify the interface itself, not .match()
Test programmatic error message setting
Add ErrorMessage annotation, generator

Not plugged in yet.
ParserTransformer: add the new ErrorMessageGenerator processor, test it