Store parsed exponent separately from rest of number

This means that the parsed number can be built up one token at a
time and there will be no need to split off the exponent part. The
order of parsing is not altered as it is still best to look for an
exponent 'early': this avoids needing to do checks later.