This adds the AddressToLineMapper class and supporting classes to
assume responsibility of tracking address-to-line information.
This allows the DWARF library to properly cleanup all of its resources
and leads to significant memory savings.
Closes#4383
- Various C++ object fixes that improve stability where data from
libdwarf is moving between object instances.
- Functions now provide better detail with inlined functions picking
up attributes from an abstrtact DIE.
- Dump to a provide stream not stdout.
Provide a C++ interface to libdwarf to:
- Manage DWARF debug data
- Manage CU
- Manage DIE
- Handle CU line addresses
- Handle CU source files
Update #3417