Hammer out a lot of state management.

1. Player state - deck, points, train pieces are all managed state.

2. Route state - claimed status, and owner (if any) are now managed
state.

3. Discard pile - Works just like the `train-deck` but in reverse. Still
need to add shuffling and like "height detection" for this, so it gets
shuffled and folded back into the `train-deck` when some threshold is met.