More PEG macro refinments for parsing assertions.

This prevents unnecessary "error: 'parser' not found" errors
in expansions of SKIT_PEG_ASSERT_PARSE_* macros.  It should still
report errors as nicely as the previous commits when the caller
passes slightly incorrect things into its parser argument.
Bugfix for sRETURN/sSCOPE on OpenVMS.

Fix a bug that can cause it to appear as though values returned with
sRETURN(v) are being corrupted.  Actually, what is happening is the
corruption of random variables on the local stack.  Thus, this can
only happen if the value returned with sRETURN(...) is a variable in
the enclosing function's scope (or some expression of such variables).
(Other variables on the stack may be corrupted, but it doesn't matter
because the function is returning.)  This problem was present on
OpenVMS.  It could possibly happen on Linux, but that was never
observed.

This fix prevents the aforementioned corruption.  sRETURN should work
properly on OpenVMS now.
Fixes and feature adds for skit_peg_parser.

- Allow SKIT_PEG_ASSERT_PARSE_* to work with rules that take 0 (zero)
    arguments.
- Implement the skit_peg_parser->branch_discard member that makes it
    possible for derivative parsers to undo side-effects caused by
    parse-paths that don't get used in a successful match.
- Fix a bug that caused skit_peg_parse_one_newline to fail to consume
    entire newlines when parsing Windows 2-character line endings.
Define things like UINT64_MAX for OpenVMS.