Resurrect code for loading a pgn file. Add promotion type to move tuple in the process.
At the risk of doing a star-import, clean up the test by removing the "chess." namespace from everywhere.
Remove caching of all visited board states -- instead, count board states as needed. Keep a stack of board states during play and use it to test moves. Use a namedtuple to model moves.