Description
Currently we clear a server from the deadserver set once we finish processing it's shutdown. However, certain circumstances (network partitions, race conditions) could lead to the RS not doing a check-in until after the shutdown has been processed. As-is, this RS will now be let back in to the cluster rather than rejected with YouAreDeadException.
We should hang on to the dead servers so we always reject them.
One concern is that the set will grow indefinitely. One recommendation by stack is to use SoftReferences.