bpo-41718: subprocess imports grp and pwd on demand (GH-24987)

The shutil and subprocess modules now only import the grp and pwd
modules when they are needed, which is not the case by default in
subprocess.
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index d375514..4b011e4 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -54,14 +54,6 @@
 import types
 
 try:
-    import pwd
-except ImportError:
-    pwd = None
-try:
-    import grp
-except ImportError:
-    grp = None
-try:
     import fcntl
 except ImportError:
     fcntl = None
@@ -875,7 +867,9 @@ def __init__(self, args, bufsize=-1, executable=None,
                                  "current platform")
 
             elif isinstance(group, str):
-                if grp is None:
+                try:
+                    import grp
+                except ImportError:
                     raise ValueError("The group parameter cannot be a string "
                                      "on systems without the grp module")
 
@@ -901,7 +895,9 @@ def __init__(self, args, bufsize=-1, executable=None,
             gids = []
             for extra_group in extra_groups:
                 if isinstance(extra_group, str):
-                    if grp is None:
+                    try:
+                        import grp
+                    except ImportError:
                         raise ValueError("Items in extra_groups cannot be "
                                          "strings on systems without the "
                                          "grp module")
@@ -927,10 +923,11 @@ def __init__(self, args, bufsize=-1, executable=None,
                                  "the current platform")
 
             elif isinstance(user, str):
-                if pwd is None:
+                try:
+                    import pwd
+                except ImportError:
                     raise ValueError("The user parameter cannot be a string "
                                      "on systems without the pwd module")
-
                 uid = pwd.getpwnam(user).pw_uid
             elif isinstance(user, int):
                 uid = user