Added leaderboard update contract

@isupeene  Introduced notion of a Stats class for the leaderboard to contain. Just a class that contains different integer counts for wins/losses/ties. Could add a contract for it with postconditons that it returns integers but I don't think this is necessary. Allows leaderboards to be displayed differently on clients if necessary. Could still default rank them some way in leaderboard function.
I think to update the leaderboards for both players at the same time then the game would have to do this and not the client. It would work but I thought the client was updating the leaderboards.