Python3 build support

Everything needed to build python3 and use it with our embedded par
files.

android/regen.sh uses the upstream configure & makesetup scripts, along
with the Setup.local files in order to generate the per-platform
Android-*.bp, config.c and pyconfig.h files. The android pyconfig.h is
based on the linux one, with some changes via sed.

android/launcher_main.cpp is a rewritten version our launcher_main.cpp
in our cpython2 tree, now using the new PyConfig interfaces instead of
requiring code changes to the upstream path calculation code.

The hash/ssl plugins rely on openssl upstream, and we've only got
boringssl. I'll be looking at that in a future change.

Bug: 73372094
Test: cd external/python/cpython3; mma
Test: m par_test{,3}; build/soong/python/tests/runtest.sh
Change-Id: I563f6db1bd8a45e1ffec34d5017e5a8ca54fa28e
diff --git a/Python/thread.c b/Python/thread.c
index c36ce6f..d197b9f 100644
--- a/Python/thread.c
+++ b/Python/thread.c
@@ -43,6 +43,10 @@
 
 #endif /* _POSIX_THREADS */
 
+// ANDROID: dprintf macro is already defined by our glibc sysroot
+#ifdef dprintf
+#undef dprintf
+#endif
 
 #ifdef Py_DEBUG
 static int thread_debug = 0;