Endgame

Did a bunch of stuff today:

-added an endgame state to statechanges.js so that we can display endgame stuff
-added a jinja block to the html in game.py that interfaces with the endgame state in statechanges.js to display endgame information and interact with the user
-fixed and finalized some logic in the endgame state in game.py, as well as added a whole mess of sleep timers to fix serialization issues (which was super annoying, let me tell you)
-fixed issues where i was using global variables instead of class variables (that was pretty dumb of me)
-refactored the code that creates AI instances. I had it in the get method of game.py, which meant each time the page refreshed a new row would be added to the datastore. instead, it is created when the difficulty is chosen

Sorry for the wall of text! I've been trying to finish this endgame stuff. Let me know what you think of it.