Address review findings: move enrichment to sqlite, fix safety issues
- Move album lookup, filenames, UTI, and hasEdit to Photos.sqlite
enrichment (eliminates N+1 PhotoKit album fetch and per-asset
PHAssetResource XPC calls during enumeration)
- Use throwing FileHandle.write(contentsOf:) for disk-full safety
- Remove unused safeQuery label parameter and databaseRelativePath
- Compute uuid once in init instead of on every access
- Add Codable to AssetInfo with CodingKeys mapping description
- Change PhotosDatabase from struct to enum (caseless namespace)
- Guard-let stmt in safeQuery instead of force-unwrap