signed int -> uint64_t is a bit of a weird implicit cast, given that
scripts can provide negative numbers, and .getint() uses clipping that
depends on platform's int size.
This Diff gives a more informative error message when NUM2BIN size is negative,
instead of complaining about too large pushes. The negative number error code
will be used for multisig schnorr too.