Don’t treat setpgrp($nonzero) as setpgrp(1)

This was broken inadvertently by 92f2ac5f (5.15.3).

I really have no idea how to test this.  I only confirmed the bug and
its fix via a temporary warn statement in pp_setpgrp (obviously not
included in this commit).
Don’t call STORE twice on setpgrp target

If the target is a lexical variable (as happens with ‘$lex = setpgrp’,
in which the assignment is optimised away), then doing set-magic mul-
tiple times has an observable effect.  This was only happening when it
was called with no arguments.

This double STORE goes back to 1f200948c4c.  1f200948c4c was just
meant to fix a stack bug, but extending the stack when necessary, but
it was also push TARG and setting it to -1, only for it to be over-
written shortly.  (Also, it didn’t fully fix the stack bugs.  See
88d6953212e.)
Suppress warning from lex_assign.t