Reorg

I did some reorganization and then did some clean-up from there.  Hopefully the cleanup steps make sense in light of the reorg; i.e. the Player class should not be doing a sys.exit() call but rather returning up to the driver run_game() function and allowing that to exit cleanly.