Issue #20383: Introduce importlib.util.module_from_spec().

Along the way, dismantle importlib._bootstrap._SpecMethods as it was
no longer relevant and constructing the new function required
partially dismantling the class anyway.
diff --git a/Lib/test/test_tools.py b/Lib/test/test_tools.py
index 1bf7d54..2eb8066 100644
--- a/Lib/test/test_tools.py
+++ b/Lib/test/test_tools.py
@@ -407,7 +407,7 @@
     def setUpClass(self):
         path = os.path.join(scriptsdir, 'pdeps.py')
         spec = importlib.util.spec_from_file_location('pdeps', path)
-        self.pdeps = importlib._bootstrap._SpecMethods(spec).load()
+        self.pdeps = importlib._bootstrap._load(spec)
 
     @classmethod
     def tearDownClass(self):
@@ -432,7 +432,7 @@
     def setUp(self):
         path = os.path.join(scriptsdir, 'gprof2html.py')
         spec = importlib.util.spec_from_file_location('gprof2html', path)
-        self.gprof = importlib._bootstrap._SpecMethods(spec).load()
+        self.gprof = importlib._bootstrap._load(spec)
         oldargv = sys.argv
         def fixup():
             sys.argv = oldargv