Replace the third-party celinekurpershoek/link-checker action with a
self-contained bash step that crawls the site sitemap and validates
page status, internal links, external links (with retry) and in-page
anchors against each target page's heading ids.
The script is inlined rather than referenced from a file because the
workflow also runs on gh-pages branch pushes, where the source tree is
not available.