build: Starlarkify python flags (#3334)

Add starlark flags for `--python_path`, `--build_python_zip` and
`--incompatible_default_to_explicit_init_py`.

- The transitions logic is updated to set both the native and starlark
versions of the flags to allow alternating between them until the native
ones are removed.
- `--build_python_zip` is changed to `boolean` instead of `Tristate`
with default value set to `True` on `windows` and `False` otherwise.
- `scope = universal` attribute is added to the starlark flags so they
can be propagated to exec config on Bazel 9. This required upgrading
`bazel_skylib` version to have `scope` attribute defined.

Work towards: https://github.com/bazel-contrib/rules_python/issues/3252

cc @gregestren

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Richard Levasseur <rlevasseur@google.com>
diff --git a/tests/bootstrap_impls/BUILD.bazel b/tests/bootstrap_impls/BUILD.bazel
index c3d44df..dcc2751 100644
--- a/tests/bootstrap_impls/BUILD.bazel
+++ b/tests/bootstrap_impls/BUILD.bazel
@@ -23,7 +23,7 @@
     srcs = ["bin.py"],
     bootstrap_impl = "script",
     # Force it to not be self-executable
-    build_python_zip = "no",
+    build_python_zip = False,
     main = "bin.py",
     target_compatible_with = SUPPORTS_BOOTSTRAP_SCRIPT,
 )
@@ -50,14 +50,14 @@
 
 sh_py_run_test(
     name = "run_binary_zip_no_test",
-    build_python_zip = "no",
+    build_python_zip = False,
     py_src = "bin.py",
     sh_src = "run_binary_zip_no_test.sh",
 )
 
 sh_py_run_test(
     name = "run_binary_zip_yes_test",
-    build_python_zip = "yes",
+    build_python_zip = True,
     py_src = "bin.py",
     sh_src = "run_binary_zip_yes_test.sh",
 )
@@ -81,7 +81,7 @@
 sh_py_run_test(
     name = "run_binary_bootstrap_script_zip_yes_test",
     bootstrap_impl = "script",
-    build_python_zip = "yes",
+    build_python_zip = True,
     py_src = "bin.py",
     sh_src = "run_binary_zip_yes_test.sh",
     target_compatible_with = SUPPORTS_BOOTSTRAP_SCRIPT,
@@ -90,7 +90,7 @@
 sh_py_run_test(
     name = "run_binary_bootstrap_script_zip_no_test",
     bootstrap_impl = "script",
-    build_python_zip = "no",
+    build_python_zip = False,
     py_src = "bin.py",
     sh_src = "run_binary_zip_no_test.sh",
     target_compatible_with = SUPPORTS_BOOTSTRAP_SCRIPT,