partial implementation of [timeout, request-vote, voted] messages for [follower, candidate] states