AbstractParseRunner: make valueStack never null
Some more parserunner cleanup
Make valueStack, snapshot protected in AbstractParseRunner

Also introduce a new @Dangerous annotation
ParseRunner: better documentation
More doc
RecoveringParseRunner: fix node suppression

Rule's .suppressNode() returns a copy of the matcher.

Parse tree node handling should really be put out of the rules and into the
parser runners.
ParsingResult: introduce .hasMatch(), .hasCollectedParseErrors()

And deprecate .hasErrors(), its name and what it actually does it too confusing.
ParsingResult: make accessors for all properties, replace all raw accesses
Make .hasErrors() return the result of .hasCollectedParseErrors()

This with the new accessors and documentation fixes issue #4.