Issue #27626: Spelling fixes in docs, comments and internal names

Based on patch by Ville Skyttä.
diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst
index eeae96a..a9a5f5a 100644
--- a/Doc/library/configparser.rst
+++ b/Doc/library/configparser.rst
@@ -66,7 +66,7 @@
 <#supported-ini-file-structure>`_.  Essentially, the file
 consists of sections, each of which contains keys with values.
 :mod:`configparser` classes can read and write such files.  Let's start by
-creating the above configuration file programatically.
+creating the above configuration file programmatically.
 
 .. doctest::
 
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
index ff7cc91..06e9ea3 100644
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -629,7 +629,7 @@
     .. method:: path_stats(path)
 
         Optional abstract method which returns a :class:`dict` containing
-        metadata about the specifed path.  Supported dictionary keys are:
+        metadata about the specified path.  Supported dictionary keys are:
 
         - ``'mtime'`` (mandatory): an integer or floating-point number
           representing the modification time of the source code;
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index e73d8ee..4265bc2 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -1900,7 +1900,7 @@
    On Unix, *path* can be of type :class:`str` or :class:`bytes` (use
    :func:`~os.fsencode` and :func:`~os.fsdecode` to encode and decode
    :class:`bytes` paths). On Windows, *path* must be of type :class:`str`.
-   On both sytems, the type of the :attr:`~DirEntry.name` and
+   On both systems, the type of the :attr:`~DirEntry.name` and
    :attr:`~DirEntry.path` attributes of each :class:`DirEntry` will be of
    the same type as *path*.
 
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index 48311c5..02f2350 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -1211,7 +1211,7 @@
    much data, if any, was successfully sent.
 
    .. versionchanged:: 3.5
-      The socket timeout is no more reset each time data is sent successfuly.
+      The socket timeout is no more reset each time data is sent successfully.
       The socket timeout is now the maximum total duration to send all data.
 
    .. versionchanged:: 3.5