Migrate the swap pieces game state to the Game class
We shouldn't have game logic in the GUI including tracking game states. The GUI should not have to remember what stage of the game it is.
This issue has three stages:
- Add state tracking to the Game class (issue #41)
- Fix nearly every test (issue #42)
- Change the current GUI configuration to the new API (issue #43)
NOTE: Adding this functionality will most likely break all of the tests. Fixing this issue will most likely be a large undertaking and should definitely be done in a separate feature branch.