/query command no longer returns IP addresses
Slowbronite is banned in STABmons
Implement config option to hide Battle joins/leaves properly

Implements 0251bb8 properly.
Requires https://github.com/Zarel/Pokemon-Showdown-Client/pull/291 to be applied to have any effect.
Gen 1: Implement proper Counter mechanics

We now have proper Counter mechanics for Gen 1. It works as follows:
When Counter is selected, after the move hit test and apply damage, it's calculated.
Counter misses if the opponent's last selected move's Base Power is 0.
Counter misses if the opponent's last selected move's type is not Normal or Fighting, or if the move is Counter.
Counter misses if the last move used in the battle did no damage to its target.
If these three tests were passed, damage dealt by Counter will be equal to twice the damage dealt by the last move used in battle.
Counter can still miss due to 1/256 chance.
Last move used by opponent is literal. If the opponent switches, last move used still applies.

Source: http://www.smogon.com/forums/threads/past-gens-research-thread.3506992/
Implement challenge logging

Servers that change their configuration to do so can now log challenge battles.
Fix abilities crashing with confusion damage
Revert "Update Random Battle"

Don't remove Balloon Rotom-Fan without asking, that's just rude.
:|

This reverts commit fcaee2500971df71c1dd687991bbd68070384ebb.
Revert "Reject Rock Head with less than two recoil moves"

This reverts commit 4bc29710b404fb5f26c97c63ca42743e9dea43df.
Update Random Battle
Fix tracking of autolocked/autobanned userids
- `user.locked` would be equal to the id the user had when the rename has performed, rather than the autolocked userid.
- `lockedIps`'s property values would be sometimes wrong in a similar way due to a missing change in 47e90226.
Both of these issues are hereby fixed.
Add event Charizard and Pikachu
Fix second Helping Hand message
Gen 1: Store properly last move used by Pokémon

Pokémons store the last move used and that variable is reset upon freeze or asleep.

Source: http://www.smogon.com/forums/threads/past-gens-research-thread.3506992/#post-5878612
Gen 1: Implement Mirror Move
Random Double Battles: reject Chlorophyll unless the Pokémon itself has Sunny Day

See: http://www.smogon.com/forums/threads/joims-to-do-list.3486934/page-3#post-5895492
Gen 1: Confusion self-hit hits Substitute
Gen 1: Refactor getStat

We no longer need the callback since we can edit BattlePokemon from the mod.
Remove unnecessary ohko flag

It's not even a real flag.
Gen 1: Delete unnecessary code for move usage
All Gen 1 moves are edited to be either target normal or target self.
It is thus unnecessary to comment the different types of hitting when this is already available on the main code.
Also it is not relevant to have code that's never going to be used.
Gen 1: Substitute doesn't stop partially trapped
When a Pokémon gets hit by a Wrap-like move, it gets partially trapped regardless of Substitute.