Implement (expt)

- Add helper methods on NumberCell to convert to/from floating point
  values and check for exactness. This is intended to wrap functions
  like pow() that can safely work on floating point values and then have
  their value converted back to an integer if it's within range.

- Guess the mantissa of floating point types and don't convert values
  that are outside of the floating point type's contiguous integer range
  to an ExactIntegerCell. This prevents us from returning exact values
  that could possibly have been rounded to another integer due to lack
  of floating point precision

- Implement (expt) on top of the above functionality