Issue #21321: itertools.islice() now releases the reference to the source iterator when the slice is exhausted.

Patch by Anton Afanasyev.