Cleanup changes to vote related code - prerequisite for !247
Since these changes touch delicate code, it is best to review them commit by commit.
Mainly comment_vote_object
encapsulation, extraction of common code fragments in vote evaluators and removing of updates on state fields that are later never used - that shows possible optimizations, used in !247 (merged).