Fix some HP reporting bugs
Fix some HP reporting bugs

- HP is now correctly reported as floor(a/b*48) rather than round(a/b*48)
- damage messages no longer leak additional information beyond what the
  user can get by comparing the before and after values of the HP bar
- information on when to force the HP bar to yellow is now sent to
  the client when the HP bar has exactly 9 pixels but the HP ratio is
  strictly greater than 0.2
- the protocol is optimised slightly to use less bandwidth

There is still more work to be done. In particular, exact health
information be should sent to the client when damage is done to the user's
own Pokemon. Currently, all damage sends pixel information, never exact
health information.

CreaturePhil/Showdown-Boilerplate,ZestOfLife/PSserver,Hidden-Mia/Roleplay-PS,SerperiorBae/Pokemon-Showdown,zczd/enculer,TheManwithskills/Dusk--Showdown,Vacate/Pokemon-Showdown,CharizardtheFireMage/Showdown-Boilerplate,yashagl/pokemon,Adithya4Uberz/KTN,SkyeTheFemaleSylveon/Mudkip-Server,lFernanl/Mudkip-Server,TheFenderStory/Showdown-Boilerplate,AustinXII/Pokemon-Showdown,HoeenCoder/SpacialGaze,megaslowbro1/Pokemon-Showdown,Flareninja/Sora,Flareninja/Hispano-Pokemon-Showdown,abulechu/Lumen-Pokemon-Showdown,Bryan-0/Pokemon-Showdown,Alpha-Devs/Alpha-Server,Articuno-I/Pokemon-Showdown,Atwar/ServerClassroom,Alpha-Devs/OmegaRuby-Server,k3naan/Pokemon-Showdown,hayleysworld/asdfasdf,Kevinxzllz/PS-Openshift-Server,urkerab/Pokemon-Showdown,SerperiorBae/BaeShowdown,Raina4uberz/Light-server,DarkSuicune/Kakuja-2.0,InvalidDN/Pokemon-Showdown,hayleysworld/harmonia,Irraquated/Showdown-Boilerplate,Neosweiss/Pokemon-Showdown,xfix/Pokemon-Showdown,Celecitia/Plux-Pokemon-Showdown,Ransei1/Alt,panpawn/Gold-Server,PrimalGallade45/Lumen-Pokemon-Showdown,Chespin14/Custom-Platform-Pokemon-Showdown,megaslowbro1/Pokemon-Showdown,Ransei1/Alt,Atwar/ServerClassroom,Darkshadow6/git-remote-add-scalingo-git-scalingo.com-pokemoonforums,Extradeath/advanced,AnaRitaTorres/Pokemon-Showdown,zek7rom/SpacialGaze,hayleysworld/serenityc9,cadaeic/Pokemon-Showdown,AbsolitoSweep/Absol-server,danpantry/Pokemon-Showdown,sama2/Dropp-Pokemon-Showdown,SerperiorBae/Bae-Showdown-2,hayleysworld/serenity,SerperiorBae/Bae-Showdown,MeliodasBH/boarhat,iFaZe/SilverZ,Werfin96/Ultimate,TogeSR/Lumen-Pokemon-Showdown,Fusxfaranto/Pokemon-Showdown,Ridukuo/Test2,BadSteel/Omega-Pokemon-Showdown,PS-Spectral/Spectral,ankailou/Pokemon-Showdown,DesoGit/Tsunami_PS,abrulochp/Dropp-Pokemon-Showdown,svivian/Pokemon-Showdown,Mystifi/Exiled,Firestatics/Firestatics46,AWailOfATail/awoat,FakeSloth/wulu,Git-Worm/City-PS,TheDiabolicGift/Lumen-Pokemon-Showdown,Irraquated/Pokemon-Showdown,Darkshadow6/PokeMoon-Creation,hayleysworld/Showdown-Boilerplate,Wando94/Pokemon-Showdown,Wando94/Pokemon-Showdown,Firestatics/Omega-Alpha,SSJGVegito007/Vegito-s-Server,aakashrajput/Pokemon-Showdown,lFernanl/Lumen-Pokemon-Showdown,Psyientist/Showdown-Boilerplate,MasterFloat/LQP-Server-Showdown,Nineage/Origin,Extradeath/psserver,Celecitia/Plux-Pokemon-Showdown,lFernanl/Zero-Pokemon-Showdown,BuzzyOG/Pokemon-Showdown,AWailOfATail/Pokemon-Showdown,Pokemon-Devs/Pokemon-Showdown,SilverTactic/Showdown-Boilerplate,anubhabsen/Pokemon-Showdown,TogeSR/Lumen-Pokemon-Showdown,jumbowhales/Pokemon-Showdown,Syurra/Pokemon-Showdown,RustServer/Pokemon-Showdown,TheManwithskills/Server-2,Disaster-Area/Pokemon-Showdown,Parukia/Pokemon-Showdown,Irraquated/Showdown-Boilerplate,Hopenub/Pokemon-Showdown,SubZeroo99/Pokemon-Showdown,kuroscafe/Showdown-Boilerplate,Ecuacion/Lumen-Pokemon-Showdown,Enigami/Pokemon-Showdown,ehk12/bigbangtempclone,comedianchameleon/servertest1,sama2/Viridian-Pokemon-Showdown,TbirdClanWish/Pokemon-Showdown,ShowdownHelper/Saffron,MayukhKundu/Flame-Savior,Sora-League/Sora,Gold-Solox/Pokemon-Showdown,UniversalMan12/Universe-Server,AnaRitaTorres/Pokemon-Showdown,Atwar/http-server-femalehq.rhcloud.com-80.psim.us-,ZeroParadox/ugh,AbsolitoSweep/Absol-server,KaitoV4X/Showdown,Flareninja/Sora,kupochu/Pokemon-Showdown,ZestOfLife/FestiveLife,scotchkorean27/Pokemon-Showdown,panpawn/Pokemon-Showdown,Firestatics/Omega-Alpha,Legit99/Lightning-Storm-Server,Volcos/SpacialGaze,zczd/enculer,Elveman/RPCShowdownServer,DarkSuicune/Pokemon-Showdown,SkyeTheFemaleSylveon/Pokemon-Showdown,Zarel/Pokemon-Showdown,SkyeTheFemaleSylveon/Pokemon-Showdown,Parukia/Pokemon-Showdown,gustavo515/test,svivian/Pokemon-Showdown,sama2/Dropp-Pokemon-Showdown,CrestfallPS/Pokemon-Showdown,TheFenderStory/Pokemon-Showdown,ScottehMax/Pokemon-Showdown,Guernouille/Pokemon-Showdown,SubZeroo99/Pokemon-Showdown,PS-Spectral/Spectral,TheManwithskills/Server-2,Wando94/Spite,Kokonoe-san/Glacia-PS,Irraquated/EOS-Master,Irraquated/Pokemon-Showdown,abrulochp/Dropp-Pokemon-Showdown,Tesarand/Pokemon-Showdown,bai2/Dropp,CorruptedHelix/Pokemon-Showdown,sama2/Lumen-Pokemon-Showdown,azum4roll/Pokemon-Showdown,comedianchameleon/test,lFernanl/Pokemon-Showdown,Arcticblast/Pokemon-Showdown,Yggdrasil-League/Yggdrasil,AustinXII/Pokemon-Showdown,UniversalMan12/Universe-Server,Parukia/Pokemon-Showdown,xfix/Pokemon-Showdown,lFernanl/Zero-Pokemon-Showdown,johtooo/PS,TheManwithskills/New-boiler-test,jumbowhales/Pokemon-Showdown,HoeenCoder/SpacialGaze,Oiawesome/DPPtServ2,DarkSuicune/Pokemon-Showdown,gustavo515/batata,jumbowhales/Pokemon-Showdown,sirDonovan/Pokemon-Showdown,k3naan/Pokemon-Showdown,sama2/Universe-Pokemon-Showdown,Ecuacion/Pokemon-Showdown,SerperiorBae/BaeShowdown,hayleysworld/serenityserver,HoeenCoder/SpacialGaze,DarkSuicune/Kakuja-2.0,Oiawesome/DPPtServ2,xCrystal/Pokemon-Showdown,Ecuacion/Lumen-Pokemon-Showdown,yashagl/pokemon-showdown,PS-Spectral/Spectral,hayleysworld/harmonia,danpantry/Pokemon-Showdown,SerperiorBae/Bae-Showdown-2,comedianchameleon/test,javi501/Lumen-Pokemon-Showdown,BlazingAura/Showdown-Boilerplate,TheManwithskills/Server-2,gustavo515/final,ShowdownHelper/Saffron,kuroscafe/Paradox,Pikachuun/Pokemon-Showdown,brettjbush/Pokemon-Showdown,Flareninja/Pokemon-Showdown-1,asdfghjklohhnhn/Pokemon-Showdown,Wando94/Spite,Extradeath/advanced,CreaturePhil/Showdown-Boilerplate,miahjennatills/Pokemon-Showdown,panpawn/Gold-Server,lFernanl/Lumen-Pokemon-Showdown,LustyAsh/EOS-Master,Enigami/Pokemon-Showdown,gustavo515/final,KewlStatics/Showdown-Template,MayukhKundu/Pokemon-Domain,EmmaKitty/Pokemon-Showdown,CharizardtheFireMage/Showdown-Boilerplate,yashagl/yash-showdown,megaslowbro1/Pokemon-Showdown-Server-for-megaslowbro1,ehk12/coregit,catanatron/pokemon-rebalance,NoahVSGamingYT/Pokemon-Showdown,svivian/Pokemon-Showdown,DalleTest/Pokemon-Showdown,Atwar/server-epilogueleague.rhcloud.com,BuzzyOG/Pokemon-Showdown,Lord-Haji/SpacialGaze,DalleTest/Pokemon-Showdown,xfix/Pokemon-Showdown,UniversalMan12/Universe-Server,sama2/Lumen-Pokemon-Showdown,Extradeath/psserver,TheDiabolicGift/Showdown-Boilerplate,Flareninja/Lumen-Pokemon-Showdown,QuiteQuiet/Pokemon-Showdown,SerperiorBae/BaeShowdown,hayleysworld/serenity,Lord-Haji/SpacialGaze,MasterFloat/Pokemon-Showdown,aakashrajput/Pokemon-Showdown,hayleysworld/serenityc9,gustavo515/gashoro,KewlStatics/Pokeindia-Codes,Enigami/Pokemon-Showdown,megaslowbro1/Showdown-Server-again,lFernanl/Mudkip-Server,jd4564/Pokemon-Showdown,xfix/Pokemon-Showdown,Legendaryhades/Oblivion,AustinXII/Pokemon-Showdown,JennyPRO/Jenny,Sora-League/Sora,Pokemon-Devs/Pokemon-Showdown,theodelhay/test,Adithya4Uberz/The-Tsunami-League,SerperiorBae/PokemonShowdown2,Checkinator/Pokemon-Showdown,Tesarand/Pokemon-Showdown,LightningStormServer/Lightning-Storm,ZeroParadox/BlastBurners,Kill-The-Noise/BlakJack-Boilerplate,kotarou3/Krister-Pokemon-Showdown,MayukhKundu/Technogear-Final,MasterFloat/Pokemon-Showdown,Atwar/http-server-femalehq.rhcloud.com-80.psim.us-,Tesarand/Pokemon-Showdown,superman8900/Pokemon-Showdown,Pikachuun/Joimmon-Showdown,PrimalGallade45/Dropp-Pokemon-Showdown,iFaZe/SliverX,Zipzapadam/Server,abulechu/Lumen-Pokemon-Showdown,DB898/theregalias,TheManwithskills/Creature-phil-boiler,JellalTheMage/PS-,Pikachuun/Pokemon-Showdown-SMCMDM,jd4564/Pokemon-Showdown,lFernanl/Pokemon-Showdown,Zipzapadam/Server,SerperiorBae/Pokemon-Showdown-1,MayukhKundu/Mudkip-Server,Flareninja/Showdown-Boilerplate,TheManwithskills/Server---Thermal,miahjennatills/Pokemon-Showdown,Atwar/server-epilogueleague.rhcloud.com,yashagl/pokecommunity,MeliodasBH/Articuno-Land,AvinashSwaminathan/Pokelegends,MeliodasBH/Articuno-Land,megaslowbro1/Showdown-Server-again,SkyeTheFemaleSylveon/Mudkip-Server,Sora-Server/Sora,MayukhKundu/Mudkip-Server,Kill-The-Noise/BlakJack-Boilerplate,Darkshadow6/PokeMoon-Creation,svivian/Pokemon-Showdown,AWailOfATail/Pokemon-Showdown,kubetz/Pokemon-Showdown,Breakfastqueen/advanced,Pikachuun/Touhoumon-Showdown,hayleysworld/Pokemon-Showdown,yashagl/pokecommunity,Enigami/Pokemon-Showdown,AWailOfATail/Pokemon-Showdown,Adithya4Uberz/The-Tsunami-League,superman8900/Pokemon-Showdown,BlazingAura/Showdown-Boilerplate,megaslowbro1/Pokemon-Showdown-Server-for-megaslowbro1,svivian/Pokemon-Showdown,RustServer/Pokemon-Showdown,SerperiorBae/Bae-Showdown,SerperiorBae/Pokemon-Showdown,asdfghjklohhnhn/Pokemon-Showdown,Zarel/Pokemon-Showdown,Psyientist/Showdown-Boilerplate,TheManwithskills/DS,Ridukuo/Test2,BlakJack/Kill-The-Noise,javi501/Lumen-Pokemon-Showdown,Stroke123/POKEMON,Luobata/Pokemon-Showdown,SSJGVegito007/Vegito-s-Server,AvinashSwaminathan/lotus-v3,InvalidDN/Pokemon-Showdown,KaitoV4X/Showdown,MayukhKundu/Flame-Savior,JellalTheMage/Jellals-Server,ehk12/clone,JennyPRO/Jenny,Flareninja/Pokemon-Showdown,FakeSloth/Infinite,hayleysworld/serenityserver,QuiteQuiet/Pokemon-Showdown,xfix/Pokemon-Showdown,TheManwithskills/Dusk--Showdown,CorruptedHelix/Pokemon-Showdown,TheDiabolicGift/Lumen-Pokemon-Showdown,SerperiorBae/Pokemon-Showdown-1,Alpha-Devs/OmegaRuby-Server,JellalTheMage/PS-,ZestOfLife/PSserver,MayukhKundu/Pokemon-Domain,comedianchameleon/test,ZeroParadox/ugh,ScottehMax/Pokemon-Showdown,ehk12/bigbangtempclone,EienSeiryuu/Pokemon-Showdown,LightningStormServer/Lightning-Storm,AvinashSwaminathan/lotus,KewlStatics/Alliance,Zarel/Pokemon-Showdown,SerperiorBae/PokemonShowdown2,QuiteQuiet/Pokemon-Showdown,TheFenderStory/Showdown-Boilerplate,DB898/theregalias,forbiddennightmare/Pokemon-Showdown-1,SilverTactic/Dragotica-Pokemon-Showdown,AWailOfATail/awoat,Evil-kun/Pokemon-Showdown,MasterFloat/LQP-Server-Showdown,lAlejandro22/lolipoop,Johto-Serverr/Werfin-Boilerplate,PauLucario/LQP-Server-Showdown,ZeroParadox/BlastBurners,Disaster-Area/Pokemon-Showdown,psnsVGC/Wish-Server,panpawn/Gold-Server,LustyAsh/EOS-Master,KewlStatics/Shit,Hidden-Mia/Roleplay-PS,piiiikachuuu/Pokemon-Showdown,Nineage/Origin,Flareninja/Pokemon-Showdown-1,kubetz/Pokemon-Showdown,sama2/Viridian-Pokemon-Showdown,MayukhKundu/Technogear-Final,brettjbush/Pokemon-Showdown,AvinashSwaminathan/lotus-v2,TheManwithskills/Server---Thermal,Nineage/Showdown-Boilerplate,yashagl/yash-showdown,ehk12/clone,comedianchameleon/servertest1,FakeSloth/Infinite,MeliodasBH/boarhat,TheManwithskills/Server,Kevinxzllz/PS-Openshift-Server,Irraquated/EOS-Master,Gold-Solox/Pokemon-Showdown,VoltStorm/Server-pokemon-showdown,Lauc1an/Perulink-Showdown,piiiikachuuu/Pokemon-Showdown,sirDonovan/Pokemon-Showdown,EmmaKitty/Pokemon-Showdown,SerperiorBae/Bae-Showdown,SilverTactic/Dragotica-Pokemon-Showdown,gustavo515/test,theodelhay/test,CreaturePhil/Showdown-Boilerplate,DesoGit/Tsunami_PS,SerperiorBae/Pokemon-Showdown,psnsVGC/Wish-Server,Pikachuun/Joimmon-Showdown,Sora-Server/Sora,TheManwithskills/serenity,Pikachuun/Pokemon-Showdown-SMCMDM,KewlStatics/Showdown-Template,Ridukuo/Test,Pablo000/aaa,Firestatics/omega,HoeenKid/Pokemon-Showdown-Johto,Lord-Haji/SpacialGaze,arkanox/MistShowdown,PrimalGallade45/Dropp-Pokemon-Showdown,Sora-League/Sora,zek7rom/SpacialGaze,Vacate/Pokemon-Showdown,MayukhKundu/Technogear,abulechu/Dropp-Pokemon-Showdown,Volcos/SpacialGaze,aakashrajput/Pokemon-Showdown,KewlStatics/Alliance,forbiddennightmare/Pokemon-Showdown-1,LegendBorned/PS-Boilerplate,abrulochp/Lumen-Pokemon-Showdown,catanatron/pokemon-rebalance,KewlStatics/Shit,TheManwithskills/COC,Bryan-0/Pokemon-Showdown,Flareninja/Sora,Darkshadow6/PokeMoon-Creation,Elveman/RPCShowdownServer,cadaeic/Pokemon-Showdown,Darkshadow6/git-remote-add-scalingo-git-scalingo.com-pokemoonforums,Kill-The-Noise/BlakJack-Boilerplate,hayleysworld/Pokemon-Showdown,azum4roll/Pokemon-Showdown,Evil-kun/Pokemon-Showdown,Yggdrasil-League/Yggdrasil,BadSteel/Pokemon-Showdown,Stroke123/POKEMON,DesoGit/TsunamiPS,Thiediev/Pokemon-Showdown,bai2/Dropp,Lauc1an/Perulink-Showdown,Guernouille/Pokemon-Showdown,TheFenderStory/Pokemon-Showdown,scotchkorean27/Pokemon-Showdown,LegendBorned/PS-Boilerplate,DesoGit/Tsunami_PS,Sora-Server/Sora,PauLucario/LQP-Server-Showdown,SilverTactic/Showdown-Boilerplate,TheManwithskills/Server,JellalTheMage/Jellals-Server,kotarou3/Krister-Pokemon-Showdown,lAlejandro22/lolipoop,BuzzyOG/Pokemon-Showdown,TheDiabolicGift/Showdown-Boilerplate,NoahVSGamingYT/Pokemon-Showdown,Irraquated/Pokemon-Showdown,kupochu/Pokemon-Showdown,Darkshadow6/git-remote-add-scalingo-git-scalingo.com-pokemoonforums,SerperiorBae/Bae-Showdown-2,BasedGod7/PH,ZestOfLife/FestiveLife,Pikachuun/Pokemon-Showdown,CreaturePhil/Pokemon-Showdown,xCrystal/Pokemon-Showdown,kuroscafe/Showdown-Boilerplate,HoeenCoder/SpacialGaze,Articuno-I/Pokemon-Showdown,anubhabsen/Pokemon-Showdown,ankailou/Pokemon-Showdown,abulechu/Dropp-Pokemon-Showdown,KewlStatics/Pokeindia-Codes,SerperiorBae/Pokemon-Showdown-1,SilverTactic/Pokemon-Showdown,yashagl/pokemon,TheManwithskills/COC,sama2/Universe-Pokemon-Showdown,panpawn/Pokemon-Showdown,Git-Worm/City-PS,DesoGit/TsunamiPS,EienSeiryuu/Pokemon-Showdown,LightningStormServer/Lightning-Storm,kuroscafe/Paradox,Flareninja/Lumen-Pokemon-Showdown,TbirdClanWish/Pokemon-Showdown,TheManwithskills/Creature-phil-boiler,CreaturePhil/Pokemon-Showdown,urkerab/Pokemon-Showdown,Legit99/Lightning-Storm-Server,Firestatics/Firestatics46,Pablo000/aaa,Mystifi/Exiled,yashagl/pokemon-showdown,TheManwithskills/DS,xCrystal/Pokemon-Showdown,sirDonovan/Pokemon-Showdown,hayleysworld/asdfasdf,Ridukuo/Test,abrulochp/Lumen-Pokemon-Showdown,SolarisFox/Pokemon-Showdown,Flareninja/Hispano-Pokemon-Showdown,TheManwithskills/serenity,arkanox/MistShowdown,Mystifi/Exiled,Breakfastqueen/advanced,Flareninja/Showdown-Boilerplate,Flareninja/Pokemon-Showdown,Neosweiss/Pokemon-Showdown,SilverTactic/Pokemon-Showdown,ShowdownHelper/Saffron,Kenny-/Pokemon-Showdown,Raina4uberz/Light-server,Checkinator/Pokemon-Showdown,hayleysworld/Showdown-Boilerplate,SolarisFox/Pokemon-Showdown,Ecuacion/Pokemon-Showdown,gustavo515/gashoro,Alpha-Devs/Alpha-Server,gustavo515/batata,PrimalGallade45/Lumen-Pokemon-Showdown,Syurra/Pokemon-Showdown,johtooo/PS,MayukhKundu/Technogear,ehk12/coregit,Firestatics/omega,Kokonoe-san/Glacia-PS,urkerab/Pokemon-Showdown,Breakfastqueen/advanced,TheManwithskills/New-boiler-test