bpo-46615: Don't crash when set operations mutate the sets (GH-31120)


Ensure strong references are acquired whenever using `set_next()`. Added randomized test cases for `__eq__` methods that sometimes mutate sets when called.
(cherry picked from commit 4a66615ba736f84eadf9456bfd5d32a94cccf117)

Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
3 files changed