Core Game Model

GameModel.java Store data, make simple logical decisions about that
data, and bundle board state to pass to the GameController.