Despite the cache, different processes can race to insert a row for
the same remote host.
This is particularly apparent in our unit tests, with
`test/unit/activitypub.ts` randomly failing.
This is a (somewhat clumsy) attempt at working around that race: trap
the "duplicate key value" error, and fetch the record.
Tests pass, with or without values in the cache.