Add Infinity and NegativeInfinity classes

* Some numeric types don't compare well to Float::INFINITY so
  create two stand-in objects that always compare against
  numeric values as expected.