Fix the BigInt basic arithmetic issues
Implement efficient basic arithmetic for signed/unsigned/float/BigInt and MPFRFloat

The four basic operations are now implemented using the MPFR functions
instead of promotion to MPFRFloat.