zlc: support `(interactive "p")`.

Our implementation of always passing the prefix arg as a
marshalled argument makes this a bit of a misnomer, but for
compatibility with Elisp, use this to ensure non-integer args
are diagnosed.
* lib/zemacs/specs/zlisp_move_spec.yaml (backward-char): Remove
pending markers in argument checking examples.
* lib/zemacs/zlisp/move.zl (backward-char): Use `(interactive "p")`
in subr declaration.
* lib/zemacs/zlc (defsubr): When `(interactive "p")` is
encountered, emit code to ensure argument is an integer, while
being careful of `&optional` markers.
(integerp): Allow negative integers.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>