Voting a post several times by same user
Here's something you could try.

Create a content type, Vote.  Add an Entity Reference field (to link the vote to the relevant node).

Then, allow users to vote with flags.  When a user flags the content, use a Rule that goes something like this:


Event: Node is flagged
Action 1: Create an entity, a node of type vote (Author: logged-in user, also make sure to set the entity reference field value to the current node)
Action 2: Unflag the node


This way, the user will be able to flag the node multiple times and each time a vote node will be created that will include the date and time of each vote.