Please take a look at this range voting implementation.

At this point I have a full grasp on neither your code nor many of the covered voting methods. I wanted to add range voting to your arsenal, and this is my first stab.

It seems to work correctly, but I'd like to see it better integrated into your code. I don't know if it would be beneficial to use your TieBreaker class, for one thing -- currently I just stuff tie breaking into a method. I also wonder if a graph-based implementation would be better somehow.

So please, take a look at this and let me know how to improve it, to the end of eventually merging it into your master branch.