Currently we have following issues:
- We have 2 different implementations with a different behaviors for GNU/LLVM styles.
- Errors are either not handled at all or we call report_fatal_error with not helpfull messages.
- There is no test coverage even for those errors that are reported.
This patch reimplements parsing of the SHT_GNU_verdef section entries
in a single place, adds a few error messages and test coverage.
How about "report an error ... sh_link references a non-existent section"