`Integer` can be hashed rapidly as well (#58440)
as noted in
https://github.com/JuliaLang/julia/pull/58388#discussion_r2085241015 ,
using `hash_bytes` for `BigInt` limbs in isolation will break some
hashing invariants. accordingly this PR updates also the `hash_integer`
fallback to use rapidhash
some surgery was needed to make `BigFloat` and `Rational` and such still
match, but I think (hope?) I got it all
below are some benchmarks. the `y` axis is nanoseconds and the `x` axis
is an input of size `1234^x`, so `length = 10` means input
`hash(big(1234^10))`
hashing `BigFloat` got a small bit slower, but this already allocates
and already seems less common than hashing `BigInt` (whose hashing
remains non-allocating)

