Properly handle INT_MIN in small_to_big()

As there is no overflow for signed integers, -INT_MIN is undefined behaviour
and the cast to unsigned needs to happen before negation.

beam/big.c:1512:6: runtime error: negation of -9223372036854775808 cannot be represented in type 'Sint' (aka 'long'); cast to an unsigned type to negate this value to itself