std: Moves the constraint onto Hasher

* should The SipHasher helper fns like result_str be exposed to
the end user?
* should a StreamHasher be resetable?
* should SipHasher helper fns be moved into Hasher or StreamHasher?
* should Hasher::hash consume the hasher?
* should .hash2 reset?

Fixes #8038