Fix stack-management bug when semctl encounters errors

The success cases in pp_semctl both push a single value to the stack, but
the error case merely set the topmost stack value to undef. The fix is to
push an undef.

This bug manifests most obviously as an "uninitialized value in list slice"
warning when doing something like `my $test = (semctl -1,0,0,0)[0]`; that
was reported out-of-band to rjbs.