fix NaN/Infinity handling
add NaN + Infinity checking to Fixnum+Bignum

- this might not be necessary...
major rework on parser code
code rearrangement