v0.9.27: Issue/#319 Ladder map repitition (#398)
* Add sqlalchemy with asyncio
* Add test for excluding last played maps
* If all maps were played recently, just pick a random one
* Query laddergames by looking for "ladder1v1" gamemod
* Close db connections when server shuts down
* Only return map_id
* Clean up imports
* Remove mysql specific types
* Replace db_pool with sqlalchemy engine everywhere
* Add test for empty map pool case
* Remove logging cursor
* Rename faction "nomads" to "nomad"
* Add debug for game timeout
* Clean up some formatting
* Make sure to fetch ladder results.
* Add test for querying ladder history from db.
* Set ladder maps correctly.
* Replace fetchall with async for iteration where possible.
* Refactor update_game_player_stats
* Fix stuff I missed during rebase
* Row is a dict cursor
* Fix column name
* Add typing for map tuple