Note: the master branch is out of date. For final course
project code, see the 'project_branch' branch. The 'Tournament'
branch is the code optimized to run well for the tournament.