public class LeaderChecker
The LeaderChecker is responsible for allowing followers to check that the currently elected leader is still connected and healthy. We are
fairly lenient, possibly allowing multiple checks to fail before considering the leader to be faulty, to allow for the leader to
temporarily stand down on occasion, e.g. if it needs to move to a higher term. On deciding that the leader has failed a follower will
become a candidate and attempt to become a leader itself.