GC-protect prefetched value as well as array
GC-protect prefetched value as well as array

The prefetch model for the evaluator has the c->value REBVAL* reflect
the currently processed value at all times, and it must not be an END
marker.  Then it has a "source" from which the later REBVAL*s to
process are acquired (may be a Rebol series-based "ARRAY", or a C
va_list, or other feed of values).

The GC was protecting the source, but not protecting the c->value.  In
Ren-C++, some "floating" values were created that were GC managed and
potentially swept before running the first step.  This adds protection
for c->value.

Also updates it so that values queued from the call frame can be
propagated even if no other values are pending GC.

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