ListSnapshots() silently deleted local snapshot records not found in
remote storage. A list/read operation should not have destructive side
effects.
Changes:
- Remove the inline deletion loop from ListSnapshots() that deleted
local snapshots not present in remote storage
- Update syncWithRemote() to use deleteSnapshotFromLocalDB() for
proper cascade cleanup (deleting snapshot_files, snapshot_blobs,
and snapshot_uploads before the snapshot record itself)
The sync behavior remains available via syncWithRemote(), which is
called explicitly by PurgeSnapshots().
closes #15