py2to3: update tools/android/*.py to PY3

This is a rollback of commit 91b26dc4f3b327f115787c3ec35278c299480d0c and a
roll-forward of commit ad628ecfb8ed43870fb354e5d8f7da68594f95bd. Original commit
message is below.

Details:
- use six.ensure_str / six.ensure_bytes
- use absl.flags instead of gflags
- put third_party/py/abseil:srcs into @bazel_tools
  so the embedded Android tools can also use it
- remove python_version = "PY2" from py_binary and
  py_test rules (the default is "PY3"), except in
  BUILD.tools, to preserve PY2 compatibility for
  running Bazel (its embedded Python tools)
- added srcs_version = "PY2AND3" to BUILD.tools to
  make it explicit that these libraries are meant
  to be py2 and py3 compatible

See https://github.com/bazelbuild/bazel/issues/10127

PiperOrigin-RevId: 278394040
diff --git a/src/BUILD b/src/BUILD
index 9a8fa0c1..4831949 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -127,7 +127,10 @@
                "//third_party/ijar:embedded_zipper_sources",
                "//third_party/ijar:zipper",
                "//third_party/java/j2objc:embedded_tools_srcs",
+               "//third_party/py/abseil:srcs",
                "//third_party/py/concurrent:srcs",
+               # TODO(laszlocsomor): delete "//third_party/py/gflags:srcs" after
+               # every script in @bazel_tools was migrated to use Abseil.
                "//third_party/py/gflags:srcs",
                "//third_party/py/six:srcs",
                "//src/conditions:embedded_tools",