close a vulnerability where HashMap::from_iter wasn't being randomized

While `HashMap::new` and `HashMap::with_capacity` were being initialized with a random `SipHasher`, it turns out that `HashMap::from_iter` was just using the default instance of `SipHasher`, which wasn't randomized. This closes that bug, and also inlines some important methods.
Why does this need to move from `sip::SipHasher` to `RandomSipHasher`? Cognitively it's one more thing to understand, and it seems like we should just be properly randomizing?