Improved zoneinfo file validation

Improved checks on zoneinfo load and addition of CTS
tests to make sure the checks are working. Improved
validation and CTS testing is desirable if timezone data
is to be pushed to devices outside of an OTA and without
substantial per-image testing (and given possible OEM
changes).

Some changes in ZoneInfoDB are to remove logic that
created a large char[] to encourage Strings to share the
underlying array. Strings on Android created this way no
longer share a char[] so it can be dropped; it also makes
checking that the index is sorted correctly easier.

Bug: 31008728
Test: CtsLiboreTestCases
Change-Id: Ieb033a24de91d1e0121dd0264a4e6a787d4b19f1
5 files changed