gossip: Fix use-after-free in real_mark_alive and mark_dead
gossip: Fix use-after-free in real_mark_alive and mark_dead

In commit 11a89120931ec7391215fb02366550f77979a350 (gossiper:
get_gossip_status: return string_view and make noexcept)
get_gossip_status returns a pointer to an endpoint_state in
endpoint_state_map.

After commit 425e3b11827ab5db6d68024134233e85064c7f74 (gossip: Introduce
direct failure detector), gossiper::mark_dead and gossiper::real_mark_alive
can yield in the middle of the function. It is possible that
endpoint_state can be removed, causing use-after-free to access it.

To fix, make a copy before we yield.

Fixes #8859

Closes #8862

scylladb/scylla,scylladb/scylla,scylladb/scylla,scylladb/scylla