Draft models

A basic set of models to represent a draft. Also includes validation rules and tests.

More options may be added on to the game object later to optionally track statistics such as

- cards in your deck at game end
- cards in opponents deck at game end
- cards opponent mulligans
- cards in your hand at game end
- cards in opponents hand at game end