hiddenapi: Add 'list' command to generate public/private API lists

In order to make decisions about non-SDK API restrictions, we need
a complete list of public and private class members in the boot
class path. This was previously done by Doclava but having to lower
its Java view of the framework to dex level has proven cumbersome
and error prone.

This patch adds a new command to the `hiddenapi` build tool which
builds the class hierarchy of boot class path and attempts to resolve
each member of android.jar against it. Resolved members are dumped
into a public API text file, the rest into a private API text file.

Note that the resolution is not strictly the same as in ART and we
may err on the side of caution. This should be revisited to comply
with the spec.

Bug: 79409988
Test: m out/target/common/obj/PACKAGING/hiddenapi-private-list.txt
Change-Id: Ia82bcaad9347344aacf8dc6f7b093f769cd853ec
2 files changed