mp_integer: start implementing the plumbing for the hash function and fix a potential issue when
clearing bits in static int.

Also introduce the is_cf tt test for mp_integer.
mp_integer: modify the behaviour of division to always throw zero_division_error when the second operand is zero.

According to the C++ standard, division by zero for floats is UB and even in the common case of IEEE fp we are not really interseted
in converting infinites to integers.
mp_integer: implement hashing.