mon/OSDMonitor: fix osd_epochs insertion on prepare_beacon()
Previously, an OSD marked out could have been added back to the map upon new beacon sent by the OSD.
If the OSD goes down (after being added back to map) - it won't be marked as OUT again.
Therefore, `osd_epochs` would remain with a "stale" OSD, as a result OSDMonitor::get_min_last_epoch_clean() will always return the "stale" OSD epoch.
When osd is marked out, it will be erased from `osd_epochs` map. Correspondingly, it should be added back to the map **only** once it's marked in.
Fixes: https://tracker.ceph.com/issues/63883
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit
dd1d30b7b209eaff376620ebd6b9a65df5ee7361)