Adding support for a namespace before working on cards.
Oh, you can use namespace blocks in source files too.
* Refactored detection of card playability: it used to be the purview
of cards, but I decided that GameState owns all the information and the
Card never needs to know it (rather, the Game needs to know).
* Implemented a real card: Laboratory.
* Helper methods to control player attributes (actions, buys)