More work on BeloteGame

Add GameListener, RuleSet, and better contracts.