Implement .size_hint() on new vec iterators
Update size_hint()s on std::iterator Iterators

Add size_hint() to a few Iterators that were missing it.

Update a couple of existing size_hint()s to use checked_add() instead of
saturating_add() for the upper bound.
auto merge of #8604 : kballard/rust/iter-size-hint, r=graydon

Implement `size_hint()` on the new std::vec Iterators.

Add or update `size_hint()` on std::iterator Iterators where appropriate.

r? @thestinger