bpo-40513: new_interpreter() init GIL earlier (GH-19942)

Fix also code to handle init_interp_main() failure.
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 5726a55..2149d89 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1575,6 +1575,11 @@
     }
     interp->config._isolated_interpreter = isolated_subinterpreter;
 
+    status = init_interp_create_gil(tstate);
+    if (_PyStatus_EXCEPTION(status)) {
+        goto error;
+    }
+
     status = pycore_interp_init(tstate);
     if (_PyStatus_EXCEPTION(status)) {
         goto error;
@@ -1585,11 +1590,6 @@
         goto error;
     }
 
-    status = init_interp_create_gil(tstate);
-    if (_PyStatus_EXCEPTION(status)) {
-        return status;
-    }
-
     *tstate_p = tstate;
     return _PyStatus_OK();