Modlog refactor
Modlog refactor

The modlog API is now accessible from outside of CommandParser
through CommandParser.writeModlog.

We now also have a concept of a global modlog, and some new
command APIs for writing to it.

megaslowbro1/Pokemon-Showdown,yashagl/pokemon-showdown,kupochu/Pokemon-Showdown,CreaturePhil/Showdown-Boilerplate,KaitoV4X/Showdown,BuzzyOG/Pokemon-Showdown,HoeenCoder/SpacialGaze,KewlStatics/Pokeindia-Codes,DesoGit/TsunamiPS,psnsVGC/Wish-Server,JennyPRO/Jenny,Firestatics/Firestatics46,aakashrajput/Pokemon-Showdown,TheManwithskills/Server,Celecitia/Plux-Pokemon-Showdown,AustinXII/Pokemon-Showdown,Hidden-Mia/Roleplay-PS,KewlStatics/Alliance,TheManwithskills/Creature-phil-boiler,TheDiabolicGift/Lumen-Pokemon-Showdown,AWailOfATail/Pokemon-Showdown,PS-Spectral/Spectral,Mystifi/Exiled,CreaturePhil/Showdown-Boilerplate,EmmaKitty/Pokemon-Showdown,gustavo515/gashoro,ZeroParadox/ugh,CharizardtheFireMage/Showdown-Boilerplate,sama2/Dropp-Pokemon-Showdown,kotarou3/Krister-Pokemon-Showdown,TheManwithskills/Server,lFernanl/Pokemon-Showdown,Alpha-Devs/OmegaRuby-Server,HoeenCoder/SpacialGaze,Articuno-I/Pokemon-Showdown,Firestatics/omega,danpantry/Pokemon-Showdown,arkanox/MistShowdown,jumbowhales/Pokemon-Showdown,gustavo515/batata,ZeroParadox/ugh,kuroscafe/Paradox,ZestOfLife/FestiveLife,xfix/Pokemon-Showdown,jd4564/Pokemon-Showdown,AbsolitoSweep/Absol-server,ZestOfLife/FestiveLife,QuiteQuiet/Pokemon-Showdown,lFernanl/Lumen-Pokemon-Showdown,gustavo515/batata,Bryan-0/Pokemon-Showdown,Ecuacion/Pokemon-Showdown,MasterFloat/LQP-Server-Showdown,Irraquated/Pokemon-Showdown,superman8900/Pokemon-Showdown,JellalTheMage/Jellals-Server,zek7rom/SpacialGaze,KewlStatics/Alliance,gustavo515/final,PrimalGallade45/Lumen-Pokemon-Showdown,MeliodasBH/boarhat,urkerab/Pokemon-Showdown,PrimalGallade45/Dropp-Pokemon-Showdown,TheManwithskills/Server---Thermal,ZeroParadox/BlastBurners,MasterFloat/LQP-Server-Showdown,TheManwithskills/DS,Alpha-Devs/Alpha-Server,sirDonovan/Pokemon-Showdown,Vacate/Pokemon-Showdown,Nineage/Origin,urkerab/Pokemon-Showdown,Flareninja/Pokemon-Showdown,panpawn/Gold-Server,Zarel/Pokemon-Showdown,MeliodasBH/Articuno-Land,Kokonoe-san/Glacia-PS,NoahVSGamingYT/Pokemon-Showdown,megaslowbro1/Showdown-Server-again,DesoGit/TsunamiPS,Sora-Server/Sora,Kokonoe-san/Glacia-PS,hayleysworld/Showdown-Boilerplate,scotchkorean27/Pokemon-Showdown,ehk12/clone,Enigami/Pokemon-Showdown,DarkSuicune/Kakuja-2.0,Wando94/Spite,MeliodasBH/boarhat,Flareninja/Pokemon-Showdown,ehk12/clone,Enigami/Pokemon-Showdown,Wando94/Pokemon-Showdown,Irraquated/Showdown-Boilerplate,ShowdownHelper/Saffron,SilverTactic/Showdown-Boilerplate,sirDonovan/Pokemon-Showdown,SolarisFox/Pokemon-Showdown,Flareninja/Lumen-Pokemon-Showdown,jumbowhales/Pokemon-Showdown,Sora-League/Sora,Lord-Haji/SpacialGaze,DesoGit/Tsunami_PS,megaslowbro1/Pokemon-Showdown,forbiddennightmare/Pokemon-Showdown-1,TheManwithskills/New-boiler-test,kuroscafe/Paradox,panpawn/Gold-Server,Celecitia/Plux-Pokemon-Showdown,DarkSuicune/Pokemon-Showdown,KewlStatics/Showdown-Template,AustinXII/Pokemon-Showdown,Bryan-0/Pokemon-Showdown,svivian/Pokemon-Showdown,Pikachuun/Pokemon-Showdown-SMCMDM,ehk12/bigbangtempclone,hayleysworld/serenityc9,zczd/enculer,Enigami/Pokemon-Showdown,DarkSuicune/Pokemon-Showdown,arkanox/MistShowdown,sama2/Lumen-Pokemon-Showdown,Alpha-Devs/OmegaRuby-Server,Irraquated/Pokemon-Showdown,BlazingAura/Showdown-Boilerplate,Lauc1an/Perulink-Showdown,Vacate/Pokemon-Showdown,Mystifi/Exiled,urkerab/Pokemon-Showdown,jumbowhales/Pokemon-Showdown,TheFenderStory/Pokemon-Showdown,xfix/Pokemon-Showdown,lFernanl/Pokemon-Showdown,SilverTactic/Dragotica-Pokemon-Showdown,yashagl/yash-showdown,kotarou3/Krister-Pokemon-Showdown,Wando94/Spite,SSJGVegito007/Vegito-s-Server,panpawn/Pokemon-Showdown,yashagl/pokemon-showdown,Firestatics/Omega-Alpha,DB898/theregalias,HoeenCoder/SpacialGaze,PS-Spectral/Spectral,ehk12/coregit,QuiteQuiet/Pokemon-Showdown,HoeenCoder/SpacialGaze,ehk12/coregit,xfix/Pokemon-Showdown,sama2/Lumen-Pokemon-Showdown,Flareninja/Lumen-Pokemon-Showdown,ScottehMax/Pokemon-Showdown,Ridukuo/Test,Pikachuun/Pokemon-Showdown,abrulochp/Lumen-Pokemon-Showdown,TheDiabolicGift/Showdown-Boilerplate,Pikachuun/Pokemon-Showdown,azum4roll/Pokemon-Showdown,PauLucario/LQP-Server-Showdown,Pablo000/aaa,TheManwithskills/serenity,Ecuacion/Lumen-Pokemon-Showdown,RustServer/Pokemon-Showdown,Git-Worm/City-PS,KewlStatics/Pokeindia-Codes,AnaRitaTorres/Pokemon-Showdown,TbirdClanWish/Pokemon-Showdown,TheDiabolicGift/Showdown-Boilerplate,Pokemon-Devs/Pokemon-Showdown,DarkSuicune/Kakuja-2.0,javi501/Lumen-Pokemon-Showdown,forbiddennightmare/Pokemon-Showdown-1,superman8900/Pokemon-Showdown,ShowdownHelper/Saffron,xCrystal/Pokemon-Showdown,JellalTheMage/PS-,KewlStatics/Shit,ScottehMax/Pokemon-Showdown,piiiikachuuu/Pokemon-Showdown,hayleysworld/serenityserver,SkyeTheFemaleSylveon/Pokemon-Showdown,lAlejandro22/lolipoop,Elveman/RPCShowdownServer,Pablo000/aaa,lFernanl/Zero-Pokemon-Showdown,Flareninja/Showdown-Boilerplate,TheManwithskills/COC,TheFenderStory/Showdown-Boilerplate,abrulochp/Dropp-Pokemon-Showdown,bai2/Dropp,Syurra/Pokemon-Showdown,xfix/Pokemon-Showdown,AbsolitoSweep/Absol-server,Articuno-I/Pokemon-Showdown,Irraquated/Pokemon-Showdown,hayleysworld/serenity,Wando94/Pokemon-Showdown,BuzzyOG/Pokemon-Showdown,Mystifi/Exiled,MayukhKundu/Flame-Savior,DesoGit/Tsunami_PS,ZestOfLife/PSserver,PrimalGallade45/Lumen-Pokemon-Showdown,abulechu/Dropp-Pokemon-Showdown,xfix/Pokemon-Showdown,DB898/theregalias,Zarel/Pokemon-Showdown,k3naan/Pokemon-Showdown,Kevinxzllz/PS-Openshift-Server,svivian/Pokemon-Showdown,AnaRitaTorres/Pokemon-Showdown,Lord-Haji/SpacialGaze,Zipzapadam/Server,JellalTheMage/PS-,hayleysworld/serenity,Elveman/RPCShowdownServer,gustavo515/gashoro,scotchkorean27/Pokemon-Showdown,Zipzapadam/Server,SilverTactic/Dragotica-Pokemon-Showdown,Volcos/SpacialGaze,JennyPRO/Jenny,Ecuacion/Lumen-Pokemon-Showdown,Ridukuo/Test,xCrystal/Pokemon-Showdown,ehk12/bigbangtempclone,theodelhay/test,anubhabsen/Pokemon-Showdown,QuiteQuiet/Pokemon-Showdown,gustavo515/test,AWailOfATail/awoat,panpawn/Gold-Server,Ecuacion/Pokemon-Showdown,brettjbush/Pokemon-Showdown,kuroscafe/Showdown-Boilerplate,ankailou/Pokemon-Showdown,cadaeic/Pokemon-Showdown,Alpha-Devs/Alpha-Server,xCrystal/Pokemon-Showdown,lFernanl/Zero-Pokemon-Showdown,TheManwithskills/COC,Firestatics/Omega-Alpha,EmmaKitty/Pokemon-Showdown,TheManwithskills/Creature-phil-boiler,TheManwithskills/DS,kupochu/Pokemon-Showdown,theodelhay/test,hayleysworld/serenityserver,CharizardtheFireMage/Showdown-Boilerplate,Pokemon-Devs/Pokemon-Showdown,TheFenderStory/Pokemon-Showdown,aakashrajput/Pokemon-Showdown,JellalTheMage/Jellals-Server,Firestatics/omega,cadaeic/Pokemon-Showdown,Git-Worm/City-PS,gustavo515/final,TbirdClanWish/Pokemon-Showdown,BlazingAura/Showdown-Boilerplate,aakashrajput/Pokemon-Showdown,KaitoV4X/Showdown,Sora-League/Sora,gustavo515/test,PS-Spectral/Spectral,abulechu/Lumen-Pokemon-Showdown,Guernouille/Pokemon-Showdown,azum4roll/Pokemon-Showdown,TheManwithskills/Server---Thermal,javi501/Lumen-Pokemon-Showdown,TheManwithskills/serenity,MeliodasBH/Articuno-Land,SkyeTheFemaleSylveon/Pokemon-Showdown,PauLucario/LQP-Server-Showdown,TheManwithskills/Dusk--Showdown,CreaturePhil/Showdown-Boilerplate,megaslowbro1/Showdown-Server-again,Lord-Haji/SpacialGaze,sama2/Dropp-Pokemon-Showdown,Neosweiss/Pokemon-Showdown,zek7rom/SpacialGaze,Sora-Server/Sora,abulechu/Lumen-Pokemon-Showdown,EienSeiryuu/Pokemon-Showdown,Pikachuun/Pokemon-Showdown-SMCMDM,MayukhKundu/Flame-Savior,sirDonovan/Pokemon-Showdown,panpawn/Pokemon-Showdown,Enigami/Pokemon-Showdown,Firestatics/Firestatics46,SilverTactic/Showdown-Boilerplate,piiiikachuuu/Pokemon-Showdown,Kevinxzllz/PS-Openshift-Server,Zarel/Pokemon-Showdown,RustServer/Pokemon-Showdown,lAlejandro22/lolipoop,EienSeiryuu/Pokemon-Showdown,ShowdownHelper/Saffron,AWailOfATail/Pokemon-Showdown,hayleysworld/serenityc9,bai2/Dropp,ZestOfLife/PSserver,abulechu/Dropp-Pokemon-Showdown,Lauc1an/Perulink-Showdown,TheManwithskills/Dusk--Showdown,ankailou/Pokemon-Showdown,AustinXII/Pokemon-Showdown,Flareninja/Showdown-Boilerplate,abrulochp/Dropp-Pokemon-Showdown,Sora-Server/Sora,Irraquated/Showdown-Boilerplate,yashagl/yash-showdown,AWailOfATail/Pokemon-Showdown,brettjbush/Pokemon-Showdown,BuzzyOG/Pokemon-Showdown,PrimalGallade45/Dropp-Pokemon-Showdown,Nineage/Origin,TheDiabolicGift/Lumen-Pokemon-Showdown,SolarisFox/Pokemon-Showdown,NoahVSGamingYT/Pokemon-Showdown,danpantry/Pokemon-Showdown,megaslowbro1/Pokemon-Showdown-Server-for-megaslowbro1,Sora-League/Sora,lFernanl/Lumen-Pokemon-Showdown,SSJGVegito007/Vegito-s-Server,KewlStatics/Showdown-Template,k3naan/Pokemon-Showdown,svivian/Pokemon-Showdown,svivian/Pokemon-Showdown,KewlStatics/Shit,AWailOfATail/awoat,Hidden-Mia/Roleplay-PS,kuroscafe/Showdown-Boilerplate,Volcos/SpacialGaze,psnsVGC/Wish-Server,zczd/enculer,Neosweiss/Pokemon-Showdown,TheFenderStory/Showdown-Boilerplate,Syurra/Pokemon-Showdown,abrulochp/Lumen-Pokemon-Showdown,jd4564/Pokemon-Showdown,megaslowbro1/Pokemon-Showdown-Server-for-megaslowbro1,ZeroParadox/BlastBurners,svivian/Pokemon-Showdown,TheManwithskills/New-boiler-test,Guernouille/Pokemon-Showdown,anubhabsen/Pokemon-Showdown,DesoGit/Tsunami_PS,hayleysworld/Showdown-Boilerplate