[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/Modules/_asynciomodule.c b/Modules/_asynciomodule.c
index a5cf687..e82425b 100644
--- a/Modules/_asynciomodule.c
+++ b/Modules/_asynciomodule.c
@@ -187,7 +187,7 @@
         return _is_coroutine(coro);
     }
 
-    /* either an error has occured or
+    /* either an error has occurred or
        type(coro) is in iscoroutine_typecache
     */
     return has_it;
diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c
index 4a33f2d..b69fcdf 100644
--- a/Modules/_datetimemodule.c
+++ b/Modules/_datetimemodule.c
@@ -3420,7 +3420,7 @@
     PyErr_SetString(PyExc_ValueError, "fromutc: tz.dst() gave"
                     "inconsistent results; cannot convert");
 
-    /* fall thru to failure */
+    /* fall through to failure */
 Fail:
     Py_XDECREF(off);
     Py_XDECREF(dst);
diff --git a/Modules/_hashopenssl.c b/Modules/_hashopenssl.c
index 50fe9d5..44d3f63 100644
--- a/Modules/_hashopenssl.c
+++ b/Modules/_hashopenssl.c
@@ -962,7 +962,7 @@
  *  This macro generates constructor function definitions for specific
  *  hash algorithms.  These constructors are much faster than calling
  *  the generic one passing it a python string and are noticeably
- *  faster than calling a python new() wrapper.  Thats important for
+ *  faster than calling a python new() wrapper.  That is important for
  *  code that wants to make hashes of a bunch of small strings.
  *  The first call will lazy-initialize, which reports an exception
  *  if initialization fails.
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index 05f9a02..9525ad6 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -1015,7 +1015,7 @@
         if(_Pickler_CommitFrame(self)) {
             return -1;
         }
-        /* Flush the content of the commited frame to the underlying
+        /* Flush the content of the committed frame to the underlying
          * file and reuse the pickler buffer for the next frame so as
          * to limit memory usage when dumping large complex objects to
          * a file.
diff --git a/Modules/md5module.c b/Modules/md5module.c
index 6b11f0b..b019f82 100644
--- a/Modules/md5module.c
+++ b/Modules/md5module.c
@@ -293,7 +293,7 @@
         md5->curlen = 0;
     }
 
-    /* pad upto 56 bytes of zeroes */
+    /* pad up to 56 bytes of zeroes */
     while (md5->curlen < 56) {
         md5->buf[md5->curlen++] = (unsigned char)0;
     }
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 8cc5d14..474c1c9 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -6156,7 +6156,7 @@
     }
 #if defined(__APPLE__) && defined(AI_NUMERICSERV)
     if ((flags & AI_NUMERICSERV) && (pptr == NULL || (pptr[0] == '0' && pptr[1] == 0))) {
-        /* On OSX upto at least OSX 10.8 getaddrinfo crashes
+        /* On OSX up to at least OSX 10.8 getaddrinfo crashes
          * if AI_NUMERICSERV is set and the servname is NULL or "0".
          * This workaround avoids a segfault in libsystem.
          */