perf: parallel gallery fetch, restore HTTP caching, scope story cleanup to background
- Remove reloadIgnoringLocalCacheData from all XRPC GET requests so
URLSession respects server Cache-Control headers
- Parallelize gallery + comments fetch with async let in GalleryDetailViewModel
- Trigger ViewedStoryStorage.cleanup() on app background (scenePhase)
in addition to the existing startup call
- Add ViewedStoryStorageTests covering cleanup: old author removal,
recent entry preservation, URI cap at 200 after exceeding 500