This moves the reportUniqueWarning method to the base class.
My motivation is the following:
I've experimented with replacing reportWarning calls with reportUniqueWarning
in ELF dumper. I've found that for example for removing them from DynRegionInfo helper
class, it is worth to pass a dumper instance to it (to be able to call dumper()->reportUniqueWarning()).
The problem was that ELFDumper<ELFT> is a template class. I had to make DynRegionInfo to be templated
and do lots of minor changes everywhere what did not look reasonable/nice.
At the same time I guess one day other dumpers like COFF/MachO/Wasm etc might want to
start using reportUniqueWarning API too. Then it looks reasonable to move the logic to the
base class.
With that the problem of passing the dumper instance will be gone.
Maybe we could simplify this by having WarningHandler not return an Error at all? What do you think?