wip: temporarily remove usage of to_bytes
std: initial work on restructuring hash.rs

This patch merges IterBytes and Hash into order to support
std::hash::Hash, so this removes the confusion around the name.
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
remove the `std::hash2::Hash` trait.
rename `hash2::Hasher::hash2` to `hash`
wip
std: optimize hashing of unsigned integers
std: migrate the constraint to the `Hash`

This allows one hasher to be used with multiple types.
wip: slim down the typarams
rebase onto master
syntax: add #[deriving(StreamHash)] support
wip
wip
Take advantage of default typarams
wip
std: minor whitespace cleanup
wip: one downside is it requires default typarams to be allowed
wip
wip
wip