Make decks of all kinds a hash map instead of bare ref.

This allows me to associate metadata (specifically, ':type') with the deck in the cases they need special handling.
So far, the only special handling has been in discarding, where destination cards need to go back to destination
deck, but others go to discard pile.