correctly parse all integer types. fixes #9289

Used `parseint` and `parsefloat` methods instead of `float64_isvalid`.

+1 to failures as return variables rather than exceptions.

As part of the String redesign, I'd like to see functions like those in https://github.com/johnmyleswhite/CSVReaders.jl/blob/master/src/05_parsers.jl get moved into Base.