std: explain why we use cast::transmute to hash integers
std: remove `StreamHash.input_ref`
std: make the hash tests more complete
std: simplify hash impl macros
std: flesh out the `std::hash` documentation.
std: remove hash::StreamHash, add hash::State
std: rename StreamState => StreamHasher, Hasher => HasherFactory
std: remove the ability to hash floats
std: replace hash::StreamState with Writer