recordVote can now also unvote if the item is the same the user has voted before.