Add E2E sync tests with mock PDS, sync diagnostics, and fetch timeouts
- Mock PDS test helper (test-helpers.ts): createTestRepo(), startMockPds(),
createMockDidResolver() for fast integration testing with tiny repos
- E2E sync tests (e2e-sync.test.ts): 7 tests covering syncDid() pipeline
against mock PDS — empty/record/blob accounts, admin API, persistence
- Sync progress logging in syncDid(): CAR size, block count, blob stats,
total duration at each checkpoint
- Fetch timeouts in repo-fetcher.ts: 60s for fetchRepo, 30s for fetchBlob
via AbortController to prevent hanging on slow PDSes