std: restructure hash.rs to remove IterBytes

This patch merges IterBytes and Hash traits, which clears up the
confusion of using `#[deriving(IterBytes)]`
simplinto order to support
std::hash::Hash, so this removes the confusion around the name.