fallback: ~(n::Integer) = -n-1

In particular, this defines ~ for BigInts in a way that's
compatible with the behavior of fixed-size integer types.
GMP module: modularize BigInt and BigFloat functionality.

This is kind of broken since it can only be loaded when you
are in the julia build directory. Really, this should be moved
into a GMP module, but I didn't want to get too deep into a
yak shaving expedition before committing.

Also bump up to the latest GMP version number.
Merge branch 'master' of github.com:JuliaLang/julia