A rough initial implementation.

Added classes for major concepts in the game. Refactoring is probably
necessary, but the basic ideas are there. Game runs, but is not
without errors. Need to add some automatic tests for common game
actions.