clarifying iterator trait documentation

I found these things to be ambiguous, or at least worth stating explicitly to reduce the amount a user/developer needs to think about the API.
Ah, fair point on the infinite ones. I wasn't sure if that was true, but it certainly makes sense.