i64->BigInt/f64->BigRational + rework of fact to get (fact 100) passing

should be able to do (fact 1000) when TCO is implemented