Handle ratnum->flonum conversion correctly close to inifinity range

Another fix in Scm_GetDouble when ratnum is close to the edge
of the range of flonum.