Discard piles

Mostly discard piles for this update.

The discard pile contains cards that are known not to be in play and are
not excluded from being in play. So when a card would have been placed
into the discard pile call (deck)deck.addToDiscard(Card or
std::vector<Card>)

Cards excluded from play are next up on the chopping block.