fix #5934 – have tested that Base.rat doesn't hang for any Float32.

This code is now truly independent of word-size, although the size
of integer that it uses is native. However, since it doesn't ever
use integer values larger than 2^24, the computation is the same on
32- or 64-bit systems. Scanning through all Float32 inputs takes
about ten minutes; haven't tested all Float64 values, of course.
Merge branch 'master' of github.com:JuliaLang/julia