feat: multi-threaded DID resolver, cache warming, and listHosts endpoint
spawn N resolver threads (default 4, configurable via RESOLVER_THREADS)
instead of 1, and pre-populate the resolve queue with all active DIDs
from the database on startup. adds com.atproto.sync.listHosts XRPC
endpoint with Indigo-compatible response format (includes seq field,
filters by last_seq > 0, default limit 200).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>