1.0.11.20: fix with-pinned-objects stack corruption potential
* In the old WITH-PINNED-OBJECTS implementation we pushed pointers
onto stack explicitly (without telling the compiler), executed
the body, and _prior_to_returning_values_of_body_ popped the pointers.
If the values from the body were in progress of being returned via
unknown-values convention we would (try to) pop the pointers while
the last callee stack frame (where the values to be returned are)
is still on the stack. In many cases this was harmless, as the correct
SP was restored soon enough, but there were bad interactions as well.
* Solution: instead of explicitly pushing pointers, use a LET to
add binding to the current stack frame for the objects, and further
use a magic TOUCH-OBJECT function implemented with an empty VOP
to trick the compiler into keeping the variables live till the end
of the body.
Probably not perfect, but seems to do the job. Of the added test-case,
the MULTIPLE variants used to fail prior to this.