Create a Judge that handles the outcome of a played card.

- Judge.js has a playCard function that takes a card and a player ID
and resolves what happens when that player plays that card.
- Currently resolving a card means changing the "text" property of
the player's state to record the name of the card played.
- Rename "selectedCard" to "selectedCardId"
- Restructure cards to contain a list and a search function.