Bignum: Fixed aliasing problem with DO_INT_TYPE_*_OVERFLOW().

Gcc 4.1.2 doesn't alias pointers to INT_TYPE and the corresponding
pointer to INT32/INT64, so stores to the target variable could get
lost in when the DO_INT_TYPE_*_OVERFLOW() functions were used in
eg loops.

Also fixes some related compiler warnings.

Fixes [bug 7057].