* The code currently iterates over tree of DIEs. This will be necessary
for checking parent vs. expected children, but for attributes, it's an
overkill, and we should check abbreviation table instead. Also, this
way, we report each mistake in abbreviation table separately for each
DIE that uses the erroneous entry.
* All attributes are marked optional. In future, we need to go through
the standard, or employ some other source of knowledge (hi, Roland!),
and adjust the optionality level.
* Vast majority of entries are derived from the table in Appendix A of the
standard. Some were added to reflect what I found in several debuginfo
test cases that I've tried to check. These entries are marked with
"XXX" comment to distinguish them from the rest.