Fix definitional LEAVE/RETURNs type checking
Fix definitional LEAVE/RETURNs type checking

This fixes a premature type check (and in PROC's case, value-
suppression) which should only be run if a THROW, RETURN, or LEAVE is
not crossing out of a function with a definitional LEAVE or RETURN.
By running before the checks for throws, it was wiping out the thrown
value or type checking it when it shouldn't.

This moves the type check after a point where the throws have GOTO'd.

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