Fix segfaults with PAD-as-target-optimization

Who knew that the op tree for $x = $y + $z generally doesn't include the
"scalar assignment" operation? Not me. Turns out that the addition
operator may know that it can put its result right into the pad slot
that $z represents.

Apart from the head-scratching required to figure this out (no docs that
I found, few comments, complex code), this is a problem because the JIT
OP uses the op_targ OP struct member to hang the JIT state struct off of
the OP. Alas, the optimization uses op_targ. So since the logic happens
inside the actual addop implementation, we now unroll the dATARGET macro
and add an extra indirection to use op->op_targ->saved_op_targ form the
JIT aux structure instead.

Not pretty.