Added some menu functionality to allow for future operations on the cards in hand. Currently only discard is enabled, but others will come soon.

Also added a discard pile to the table, which can be shuffled back into the deck, while shuffling the deck itself does not always get the discards.

Also added a bit of error handling to the client at least so that bad connections are handled relatively gracefully, rather than crashing the app.