Vote weight

Allowing the addition of a vote_weight with every vote
* Could vary per Voter
* Could vary with time for the same Voter object
* Could vary across different Voter models
* Adding a cached_weighted_score as well