Long overdue update with Python 3 compatibility while keeping 2.7 compatibility as well. Thanks to TFiFiE for providing initial Python 3 compatibility work and motivation to finally get this finished.
Other changes include:
Gregory Clark (rabbits) added proper support for losing games with illegal moves.
Some modules actually have tests now.
Several minor bugs fixed, many of which were found by writing the above tests.