This patch refactors the interface of DWARFFrame a little bit
with the goal of making FIEs and CIEs accessible to library users, so
they can process them in client tools that rely on LLVM. It also
enhances DWARFFrame with the capability of parsing CFI DWARF
expressions. To make it self-contained with test cases, it changes
llvm-readobj to be able to dump EH frames and checks they are correct
in a unit test.
The llvm-readobj code is Maksim Panchenko work (maksfb), but I am
supporting it in this patch for the purposes of making it
self-contained.