fix(atproto): route repo reads to the hosting PDS
Repo-hosting reads (getRecord, listRecords, getBlob, listBlobs) were sent
to the authenticated session's PDS, which only serves its own repos and
answers "Could not find repo" for any other DID. Resolve the target DID's
hosting PDS from its DID document (did:plc via plc.directory, did:web via
well-known) and dispatch the read there via an unauthenticated agent. The
session agent is reused for the user's own repo.