Add coverage for:
* different formats of zero (0, 0.0)
* small integers and decimals
* large integers and large decimals with large fractional part
* negative numbers for all of the above ones
`bcdiv()` and `bcmod()` throw DivisionByZeroError if the divisor is 0,
which matches the behavior of the `/` and `%` operators, and `bcsqrt()`
throws ValueError for negative operands.