Fix memory safety issues in the :func:`iter` fallback for objects that
implement :meth:`~object.__getitem__` without :meth:`~object.__iter__`
(``PySeqIter_Type``).  Sharing an iterator between threads in the
free-threaded build could use the underlying sequence after it was freed,
and re-entrant exhaustion in the default build could decrement the sequence's
reference count twice.  Concurrent iteration may still see duplicate or
missing items, but it no longer corrupts the interpreter state.
