Changes Fraction.toString() to not show denominator when it is 1, and to give more useful text for special values (NaN, +Inf, -Inf).
Added Permutation class and changed source level to 1.8.
Fully implemented Permutation and added test class.
Changed isTransposition() to isTranspositions(), tests if the permutation is a composition of transpositions.
Fixed getMinSetLength().
Adds toProperFraction() methods for showing a different format. Also fixes some bugs with negative numbers.
Renamed Fraction class to Rational. Seemed more mathematical.
Changed Rational class to use longs internally rather than ints.