PARSE cleanup/comment, reducing random access reads
PARSE cleanup/comment, reducing random access reads

With the grafting of Frame usage onto parse, the current parse position
became something held in a series REBVAL.  Exploratory code for "UTF8
Everywhere" requires sequential access via REBVALs in order to
efficiently traverse character positions (as opposed to locating a
codepoint from an index directly).  This identifies the places where
the passed-in index for a matching routine really is different from
the position held by the frame, which could make that more smooth...but
also just helps with readability.

Includes other tidying and comments, to try and make it more apparent
what the code is doing.  This mostly flattens out the cases where the
frame's parse position had to be temporarily changed to do a recursion,
so that the recursions are all "forward-moving" only on each nesting.

General reordering of the documentation notes, so that the description
of how subparse works is at the top of the file.

rgchris/ren-c,kealist/ren-c,codebybrett/ren-c,draegtun/ren-c,draegtun/ren-c,codebybrett/ren-c,hostilefork/rebol,rgchris/ren-c,giuliolunati/ren-c,hostilefork/rebol,codebybrett/ren-c,draegtun/ren-c,kealist/ren-c,kealist/ren-c,codebybrett/ren-c,codebybrett/ren-c,kealist/ren-c,hostilefork/rebol,giuliolunati/ren-c,hostilefork/rebol,rgchris/ren-c,codebybrett/ren-c,hostilefork/rebol,giuliolunati/ren-c,rgchris/ren-c,kealist/ren-c,draegtun/ren-c,draegtun/ren-c,giuliolunati/ren-c,draegtun/ren-c,giuliolunati/ren-c,kealist/ren-c,hostilefork/rebol,rgchris/ren-c