Make equals consistent with compareTo

From the javadoc of Comparable#compareTo:
> It is strongly recommended, but _not_ strictly required that
> (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class
> that implements the Comparable interface and violates this condition
> should clearly indicate this fact. The recommended language is "Note:
> this class has a natural ordering that is inconsistent with equals."

The RealType interface extends Comparable, and AbstractRealType
overrides compareTo, but it did not override equals or hashCode. This
commit updates the AbstractRealType class hierarchy to override equals
and hashCode in the appropriate places, so that type equality is
consistent with the results of the compareTo method.

Thanks to Michael Zinsmaier for noticing this issue.