[DWARF][NFC] Refactor range list extraction and dumping


[DWARF][NFC] Refactor range list extraction and dumping

The purpose of this patch is twofold:

  • Fold pre-DWARF v5 functionality into v5 to eliminate the need for 2 different versions of range list handling. We get rid of DWARFDebugRangelist{.cpp,.h}.
  • Templatize the handling of range list tables so that location list handling can take advantage of it as well. Location list and range list tables have the same basic layout.

A non-NFC version of this patch was previously submitted with r342218, but it caused
errors with some TSan tests. This patch has no functional changes. The difference to
the non-NFC patch is that there are no changes to rangelist dumping in this patch.

Differential Revision: https://reviews.llvm.org/D53545