Support multiple game types and restarting the game

A Button and SegmentedControl are used to reset the game, or choose a different game mode. The game state model init method is modified to specify the  number of cards to match. A label is added to summarize the effects of the last action (currently, just starting a game or changing the game mode).
Merge remote-tracking branch 'origin/master'