Summary:
Currently, if the DeleteSnapshot tasks time out for an expired snapshot, we will never retry the operations because TryStartDelete fails if the snapshot is already DELETING. This causes the snapshot to be stuck in the DELETING and expired state. The cluster logs an INFO log (Snapshot <id> has expired) on every poll interval (every 5s). This diff makes it so we don't call TryStartDelete on DELETING snapshots, and thus do PrepareOperations instead (which retriggers the delete snapshot tasks on tablets, accounting for whether a task is already running).
Jira: DB-14878
Test Plan: `./yb_build.sh --cxx-test snapshot-test --gtest_filter SnapshotTest.RescheduleOperationsForExpiredSnapshot`
Reviewers: zdrudi
Reviewed By: zdrudi
Subscribers: ybase
Differential Revision: https://phorge.dev.yugabyte.com/D41984