Tournaments: improve autodisqualify
Tournaments: improve autodisqualify

- improve consistency of disqualifications and warnings
- prevent challengers from avoiding disqualification after they have been warned
- only call Tournament#runAutoDisqualify when autodisqualify is set
- other minor improvements and optimizations
Volcos/SpacialGaze,AnaRitaTorres/Pokemon-Showdown,HoeenCoder/SpacialGaze,Sora-League/Sora,Kokonoe-san/Glacia-PS,CreaturePhil/Showdown-Boilerplate,KewlStatics/Shit,svivian/Pokemon-Showdown,PS-Spectral/Spectral,ShowdownHelper/Saffron,Lord-Haji/SpacialGaze,DarkSuicune/Pokemon-Showdown,KewlStatics/Alliance,Git-Worm/City-PS,urkerab/Pokemon-Showdown,AnaRitaTorres/Pokemon-Showdown,panpawn/Gold-Server,Pikachuun/Pokemon-Showdown,Volcos/SpacialGaze,ZestOfLife/FestiveLife,aakashrajput/Pokemon-Showdown,jumbowhales/Pokemon-Showdown,PS-Spectral/Spectral,SolarisFox/Pokemon-Showdown,Enigami/Pokemon-Showdown,EienSeiryuu/Pokemon-Showdown,Pikachuun/Pokemon-Showdown,ShowdownHelper/Saffron,Guernouille/Pokemon-Showdown,QuiteQuiet/Pokemon-Showdown,azum4roll/Pokemon-Showdown,Enigami/Pokemon-Showdown,DesoGit/Tsunami_PS,HoeenCoder/SpacialGaze,Elveman/RPCShowdownServer,Sora-League/Sora,Sora-League/Sora,Mystifi/Exiled,xCrystal/Pokemon-Showdown,DesoGit/Tsunami_PS,Lord-Haji/SpacialGaze,danpantry/Pokemon-Showdown,AWailOfATail/Pokemon-Showdown,urkerab/Pokemon-Showdown,Zarel/Pokemon-Showdown,ZestOfLife/FestiveLife,Git-Worm/City-PS,Elveman/RPCShowdownServer,DesoGit/Tsunami_PS,DesoGit/TsunamiPS,cadaeic/Pokemon-Showdown,panpawn/Pokemon-Showdown,xfix/Pokemon-Showdown,QuiteQuiet/Pokemon-Showdown,urkerab/Pokemon-Showdown,jd4564/Pokemon-Showdown,sirDonovan/Pokemon-Showdown,jd4564/Pokemon-Showdown,HoeenCoder/SpacialGaze,TbirdClanWish/Pokemon-Showdown,Enigami/Pokemon-Showdown,cadaeic/Pokemon-Showdown,Enigami/Pokemon-Showdown,Zarel/Pokemon-Showdown,DesoGit/TsunamiPS,xfix/Pokemon-Showdown,Bryan-0/Pokemon-Showdown,aakashrajput/Pokemon-Showdown,TbirdClanWish/Pokemon-Showdown,xfix/Pokemon-Showdown,PS-Spectral/Spectral,Bryan-0/Pokemon-Showdown,svivian/Pokemon-Showdown,AustinXII/Pokemon-Showdown,Mystifi/Exiled,ShowdownHelper/Saffron,svivian/Pokemon-Showdown,aakashrajput/Pokemon-Showdown,CharizardtheFireMage/Showdown-Boilerplate,CreaturePhil/Showdown-Boilerplate,panpawn/Gold-Server,panpawn/Gold-Server,svivian/Pokemon-Showdown,CharizardtheFireMage/Showdown-Boilerplate,AustinXII/Pokemon-Showdown,KewlStatics/Shit,Kokonoe-san/Glacia-PS,QuiteQuiet/Pokemon-Showdown,Zarel/Pokemon-Showdown,jumbowhales/Pokemon-Showdown,zek7rom/SpacialGaze,AustinXII/Pokemon-Showdown,panpawn/Pokemon-Showdown,sirDonovan/Pokemon-Showdown,xfix/Pokemon-Showdown,Mystifi/Exiled,Guernouille/Pokemon-Showdown,AWailOfATail/Pokemon-Showdown,Lord-Haji/SpacialGaze,CreaturePhil/Showdown-Boilerplate,xfix/Pokemon-Showdown,svivian/Pokemon-Showdown,SolarisFox/Pokemon-Showdown,zek7rom/SpacialGaze,xCrystal/Pokemon-Showdown,DarkSuicune/Pokemon-Showdown,AWailOfATail/Pokemon-Showdown,sirDonovan/Pokemon-Showdown,EienSeiryuu/Pokemon-Showdown,Flareninja/Showdown-Boilerplate,HoeenCoder/SpacialGaze,KewlStatics/Alliance,xCrystal/Pokemon-Showdown,azum4roll/Pokemon-Showdown,danpantry/Pokemon-Showdown,Flareninja/Showdown-Boilerplate,jumbowhales/Pokemon-Showdown