[3.7] bpo-32746: Fix multiple typos (GH-5144) (GH-5520)

Fix typos found by codespell in docs, docstrings, and comments.
(cherry picked from commit c3d9508ff22ece9a96892b628dd5813e2fb0cd80)

Co-authored-by: Leo Arias <leo.arias@canonical.com>
diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py
index 0384a9f..9fa0bbd 100644
--- a/Lib/test/test_weakref.py
+++ b/Lib/test/test_weakref.py
@@ -1637,7 +1637,7 @@
         # has to keep looping to find the first object we delete.
         objs.reverse()
 
-        # Turn on mutation in C.__eq__.  The first time thru the loop,
+        # Turn on mutation in C.__eq__.  The first time through the loop,
         # under the iterkeys() business the first comparison will delete
         # the last item iterkeys() would see, and that causes a
         #     RuntimeError: dictionary changed size during iteration