feat: complete blob storage implementation for atmosphere datasets
DatasetPublisher:
- Add publish_with_blobs() for uploading data as ATProto blobs
DatasetLoader:
- Add get_storage_type() to detect external vs blob storage
- Add get_blobs() to retrieve blob references from records
- Add get_blob_urls() to generate fetchable URLs from blob refs
- Update to_dataset() to support both external and blob storage
AtmosphereClient:
- Fix get_blob() to resolve PDS endpoint from DID document
- Add _resolve_pds_endpoint() for DID → PDS resolution via plc.directory
- Add get_blob_url() for generating direct blob fetch URLs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>