Vendor deprecated btf_ext APIs and structs
Some btf_ext-related APIs in libbpf are being deprecated because they
make incorrect assumptions. They're being used only by bcc currently, so
vendor them before they get deleted.
After / as part of #3660, may need to revisit the incorrect assumptions
being made here.
The functions and structs were ripped directly from libbpf with minimal
changes:
* Change void* arithmetic to uint8_t
* __u32 -> uint32_t and similar
* Add a wrapping namespace
* `rec_size` functions were not needed - just grab the rec_size
directly since type is no longer opaque to bcc