mp_rational: fix brain damage in ctor from floating-point.

We did not fix the sign when cting from a negative integer value.