New Card format, removes need for passing two blocks

Eventually, we'll need to pass a block for special cases (such as
Action cards) that are currently being ignored for the purpose of
deadlines. Until then, all cards simply modify a value on play.
Simple Player.play() method
Start on implementing a ruleset