Wait to return a gathered loop.

Create a zero arity callback on the calling frame before invoking the
return of a gathered, looping sub-cadence.
If the gathered, looping sub-cadence is the final callback for the
caller, then the explicit return will invoke the next step with the
scalar return value. The internal callback holds onto the caller's frame
so that we can rewrite the callback results, then return the arrayed
results to the next step.

Closes #185.