Bump tzcode from 2016g to 2022a*.

Upstream has renamed tzsetlcl to tzset_unlocked. As bionic's
implementation of tzset_unlock differs from upstream, these changes were
skipped.

Also, upstream has removed constants (SECSPERMIN, etc) from tzfile.h. As
they are used in strptime.c, I've decided to leave them in tzfile.h and
to not bring them into strptime.c.

HAVE_TZNAME and USG_COMPAT flags semantics were updated, thus setting
their values to 2 in Android.bp file. See
https://github.com/eggert/tz/commit/1a27ec76bc436a64070461bbbf28e0511c7cf3b8

* https://github.com/eggert/tz/commit/4742526b7e8a0f26adaf068c9f5c0bc0870909e7
and https://github.com/eggert/tz/commit/0e8f0b06ac2f65d0c54a91121da09c8662cd88e6
were picked up, which are not part of 2022a.

Changes were applied using following commands:
  1) Checkout tzcode repo
  2) Prepare patches for all tzcode file using
    git diff 2016g 2021e -- <file-name> > <file-name-patch>
  3) Apply these patches to files in bionic using
    patch -p1 <file-name> <file-name-patch>

Bug: 25413083
Test: CtsLibcoreTestCases
Test: CtsLibcoreOjTestCases
Test: CtsBionicTestCases

Change-Id: I9aba4cbeab30171a32f94d20c8e4057804a4c01f
diff --git a/libc/bionic/time64.c b/libc/bionic/time64.c
index da38bf3..73f24ab 100644
--- a/libc/bionic/time64.c
+++ b/libc/bionic/time64.c
@@ -483,6 +483,11 @@
 }
 
 
+/* This implementation violates mktime specification, according to which
+   tm_yday, tm_wday, and tm_isdst fields should be updated. This function
+   leaves input_date unmodified. Given that there were no bug reports, fixing
+   it might cause more troubles than just leaving it as it is.
+ */
 Time64_T mktime64(const struct TM *input_date) {
     struct tm safe_date;
     struct TM date;