crimson/osd/pg: SnapTrimEvent to support interrupts
SnapTrimEvent operations are scheduled from `PG::on_active_actmap()`
using a `seastar::do_until` loop. This commit replaces the loop type
into an `interruptor::repeat` and SnapTrimEvent are now scheduled by
`start_operation_may_interrupt`.
Previously, `SnapTrimEvent::start` handled interruptions by returning
a `crimson::ct_error::eagain::make();`. Now, the errorator is directly
returned via the `snap_trim_event_ret_t` and interrupts the loop
described above.
As a result, interruptions originated by interval changes are now
supported by SnapTrimEvent.
---
*** Manual conflict ***
The following PR is not included in S:
https://github.com/ceph/ceph/pull/55645/commits/
6d561092faf1af5158f438af2a585197bf44683e
This backported commit had to manually revert some of the changes introduced by #55645.
Specially, crimson/osd/osd_operations/snaptrim_event.cc
Cherry-picked from: 
a4ddf6cfc88619f1f50f75a079af5f39f5167a46
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>