ArithmeticException in Rational div/reciprocal.

Rational was throwing IllegalArgumentExceptions for divide by zeros and
calling reciprocal on 0/1. It should throw ArithmeticException.
Constructing a Rational explicity with a 0 denominator still throws an
IllegalArgumentException.