(PUP-3602) Make string to number not convert infinite values

Strings that can be converted to a floating point value that is infinite
should not be converted to floating point.

This also fixes the alternative code path when values are converted
and the radix is returned. (An odd code path for floating point
values)