Builds from an arbitrary signed BigInt, truncating to 128 bits
like a wrapping cast. BigInt.toUnsigned gives the exact
two's-complement bit pattern directly, so this is correct for any
magnitude.
-other wraps back to Int128.min itself when other == Int128.min
(no positive counterpart in two's complement), so that case can't go
through addChecked(-other) like every other value can. this - Int128.min only fits the signed range when this is negative, in
which case the plain wrapping subtract is already exact.
Safe only if the magnitude fits in a double-safe int — delegates to
Uint128.toInt()'s own guard, so it throws IntegerError otherwise
(use toBigInt for the general case).