Only treat 4xx responses other than 403 as stale.

Previously, any response code other than 200 was considered stale.
That unfortunately included redirects, potentially temporary server
outages, and sites expected authorization credentials.

We now take a more relaxed approach and only consider true resource
request failures as indicative of a stale link.

Closes #6