bpo-35081: And pycore_lifecycle.h and pycore_pathconfig.h (GH-10273)

* And pycore_lifecycle.h and pycore_pathconfig.h headers to
  Include/internal/
* Move Py_BUILD_CORE specific code from coreconfig.h and
  pylifecycle.h to pycore_pathconfig.h and pycore_lifecycle.h
* Move _Py_wstrlist_XXX() definitions and _PyPathConfig code
  from pycore_state.h to pycore_pathconfig.h
* Move "Init" and "Fini" function definitions from pylifecycle.c to
  pycore_lifecycle.h.
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index 018af4a..e2deb26 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -8,10 +8,12 @@
 #define PY_SSIZE_T_CLEAN
 
 #include "Python.h"
-#include <float.h>
-#include "structmember.h"
 #include "datetime.h"
 #include "marshal.h"
+#include "pycore_pathconfig.h"
+#include "pythread.h"
+#include "structmember.h"
+#include <float.h>
 #include <signal.h>
 
 #ifdef MS_WINDOWS
@@ -22,7 +24,6 @@
 #include <sys/wait.h>           /* For W_STOPCODE */
 #endif
 
-#include "pythread.h"
 static PyObject *TestError;     /* set to exception object in init */
 
 /* Raise TestError with test_name + ": " + msg, and return NULL. */
diff --git a/Modules/getpath.c b/Modules/getpath.c
index 53e5c2b..0e21071 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
@@ -1,8 +1,9 @@
 /* Return the initial module search path. */
 
 #include "Python.h"
-#include "pycore_state.h"
 #include "osdefs.h"
+#include "pycore_pathconfig.h"
+#include "pycore_state.h"
 
 #include <sys/types.h>
 #include <string.h>
diff --git a/Modules/main.c b/Modules/main.c
index 1918f4f..c847d1a 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -2,8 +2,10 @@
 
 #include "Python.h"
 #include "osdefs.h"
-#include "pycore_mem.h"
 #include "pycore_getopt.h"
+#include "pycore_lifecycle.h"
+#include "pycore_mem.h"
+#include "pycore_pathconfig.h"
 #include "pycore_state.h"
 
 #include <locale.h>