Handle multiple concurrent votes

Currently the code loses track of votes if multiple people are voting simultaneously.
Also handle concurrency in the cancel vote codepath
Merge pull request #8 from alex/patch-2

Handle multiple concurrent votes