Rework `Multi_paxos.update_votes`

Since it wasn't immediately obvious to me what
`Multi_paxos.update_votes` did while reviewing #470, this change
attempts to simplify things by introducing a fairly generic
`Std.List.alter` function, which is then used to implement
`Multi_paxos.update_votes`, hopefully clarifying what this function does
exactly.
Merge origin/1.7 into rework-update-votes (using imerge)
Merge pull request #471 from Incubaid/rework-update-votes

Rework `Multi_paxos.update_votes`