Check for integers before numbers in exponential notation

This optimization assumes that integers will appear more frequently than
numbers in exponential notation. I believe this is a reasonable
assumption for most common uses.
Consolidate whitespace cases that all return the same triple