[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/Objects/obmalloc.c b/Objects/obmalloc.c
index 0b8816c..0e485d6 100644
--- a/Objects/obmalloc.c
+++ b/Objects/obmalloc.c
@@ -2469,7 +2469,7 @@
  * checks.
  *
  * Return 0 if the memory debug hooks are not installed or no statistics was
- * writen into out, return 1 otherwise.
+ * written into out, return 1 otherwise.
  */
 int
 _PyObject_DebugMallocStats(FILE *out)
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
index 3a60946..39d43dd 100644
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -335,7 +335,7 @@
 
 /* The addend 82520, was selected from the range(0, 1000000) for
    generating the greatest number of prime multipliers for tuples
-   upto length eight:
+   up to length eight:
 
      1082527, 1165049, 1082531, 1165057, 1247581, 1330103, 1082533,
      1330111, 1412633, 1165069, 1247599, 1495177, 1577699
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index a221738..1dd5348 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -5112,7 +5112,7 @@
     /* PyType_Ready is the closest thing we have to a choke point
      * for type objects, so is the best place I can think of to try
      * to get type objects into the doubly-linked list of all objects.
-     * Still, not all type objects go thru PyType_Ready.
+     * Still, not all type objects go through PyType_Ready.
      */
     _Py_AddToAllObjects((PyObject *)type, 0);
 #endif