Create Number interface

I'm about to start working on arithmetic expressions.  I want a
consistent interface across all number types.

I've also introduced rational numbers (internally), as an accuracy
optimization.  In the long run, this should make it more convenient to
work with currency values and small real numbers without rounding
errors.

I disabled a few unification tests where ISO standard is unclear.