Improve /dt for moves and items
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.
Merge pull request #36 from Zarel/master

Patch 2.9