generic hash(Real) optimization: remove type assert on `decompose`.

Apparently the type assertion after the decompose call was sabotaging
the ability to inline the call to decompose for Rational{Int}.
Removing the type assert gives a 10x boost, bringing the speed of
generic hash(Rational) to withing 10x of hash(Int).
More streamlined hashing for smallish rational types (≤ 64-bits).

This actually provides less gain over just hashing the numerator
and the denominator than you would think, but is slightly faster.