Follow symlinks within a .deb, allowing changelogs to be located where /u/s/d/$package is a symlink
A non-native Debian package must include its changelog in /usr/share/doc/package/changelog.Debian.gz. Finding that in the .deb can be difficult as in practice /usr/share/doc/package or /usr/share/doc/$package/changelog.Debian.gz might be a symlink.
In https://bugs.debian.org/875305, the submitter notes that this makes programmatic changelog extraction difficult and that the DebFile.changelog() method fails with packages such as perl-base in releases up to buster. The suggestion is made to search in /usr/share/doc/$sourcepackage, which is implemented in !32 (closed).
However, looking carefully at Policy, using the source package name is the wrong things to do, and that DebFile.changelog() should instead attempt to follow symlinks within the package, which is what is done here.