Patch for default arguments when returning temporary

Note that besides taking into account the return address for the temporary,
this uses num_given_args rather than min_args (the use of which didn't make any
sense if you ask me) and changes the logic for the 'this' offset, if any,
slightly (as min_args had already a correction for it to begin with,
num_given_args did not, of course).

Plus another adjustment for the case of a trampoline with an extra return
address.

[From Wim]