Riichi mahjong data structures and validation