better errors for trailing_zeros and friends on BigInt (#43240)
E.g. `trailing_zeros(big(0))` is not meaningful; the underlying `MPZ.scan1`
returns `typemax(Culong)` to convey this. But we were converting to `Int`,
which gave either `InexactError` (not user-friendly) or `typemax(UInt32)`
on Windows, which was really meaningless. We now throw `DomainError`
on all architectures.