AIDL metadata

This ports HIDL's libhidlmetadata implementation to AIDL. This allows us
to easily write C++ code to interface with the interfaces in tree. Each
aidl_interface adds an entry into a json file which is then parsed by a
C++ library, generating libaidlmetadata. Currently, fields for the module
name, created types, and module stability are exported.

The main intended usecases are intended for:
- sanity checks for cuttlefish
- typo catching in init host verifier
- typo catching in vintf

Bug: 145920591
Test: hal_implementation_test
Change-Id: I3555631b110fac8ef357127e55f95da6c2452ccf
7 files changed