iterator: clarify the behaviour of fetch
iterator: clarify the behaviour of fetch

The NextPage func assumes that the buffer continues to grow with
subsequent calls to fetch (ie. only takeBuf clears the buffer). If fetch
overwrites existing items then NextPage will end up in an infinite
loop, if no single fetch can find sufficient items.

Another (equally efficient) solution would be for NextPage to greedily
consume items from the buffer, so that we don't rely on fetch's
behaviour in this regard.

Change-Id: If53772dc84a0c930e9b3bafce9092dc05910c841
Reviewed-on: https://code-review.googlesource.com/7394
Reviewed-by: Jonathan Amsterdam <e3d3698b2ccd5955e4adf250d0785062d0f9018b@google.com>

googleapis/google-api-go-client,googleapis/google-api-go-client,google/google-api-go-client,google/google-api-go-client