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.
Gen 1: Fix partial trapping moves not recalculating the damage properly
With the existing damage check, the damage was re-calculated upon switch-in, but afterwards the old damage was applied.
The removed check is not necessary as the hit will return the previous partial trap damage if existing, thus always assigning that damage again until switch or faint.
Take Gen 1 OU out of beta
With all the recent bug fixes we cannot deem it as a beta format.
Make seasonal mechanics player-name agnostic
If a player was renamed in a battle, they would become immune to obstacles and unable to achieve custom victory.
Move Doubles Challenge Cup to ORAS Doubles section