Fixed non-register argument promotion for stack passing

Arguments were being passed on the stack, sometimes not promoted if they
didn't happen to be vtop - out_cast was implicit in the vstack entry
that it altered.
Added a=b=c struct copy bug