Simplify definitional return slot loading
Simplify definitional return slot loading

The definitional RETURN and LEAVE filling wants to look at the last
parameter and arg slot, and it did some work to try and get those.
But with Do_Core flattened it's clear that `param` and `arg` are
sitting just one step past the last slot.  This backs up by one to get
the slot (cheaper than checking for IS_END on the next each step in
a loop) and puts it there.  Also clarifies asserts about the micro-
micro-optimization to not assign `arg` if there are no function args.

A second simplification double tests `c->flags & DO_FLAG_FRAME_CONTEXT`
due to that the existence of the paramlist form of "definitional return"
is not going to be there over the long run.  So rather than have two
branches duplicate work it's better to do the test again.

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