try to get integer division with negative a behave.
make sure to abs arguments to gcd_i
use temporary mp_ints for subtracting 1 in bigint_div*
Merge branch 'negative_integer_division'

this fixes div to behave less like parrot and more like jvm.
also fixes gcd sometimes returning negative values