CASSANDRA-17805: Check that the replacing node is alive during host r…
…eplacement
Add a new check during host replacement. Currently, during a node replacement, we check that the node
has not updated gossip for a configured ring_delay amount of time (defaults to 30 seconds). In CASSANDRA-17776,
the delay is calculated from the max value between the BROADCAST_INTERVAL and 2X the configured ring_delay.
If we see an update from the node that we are replacing in less than the calculated sleep delay, we throw a
UnsupportedOperationException with message Cannot replace a live node..... However, we never check whether
the node is reporting as alive or not alive. In this commit, we add the check to ensure that the node is in
fact reporting as alive before throwing the exception. Additionally, we add logging information with values for
the token, updateTimestamp, and allowedDelay values for better reporting.