Implement BattlePokemon#disableMove to support hiding information
- Changed data to use it anywhere moves get disabled.
Hide moves disabled by Imprison or NEXT's Telepathy
- Pokémon affected by Imprison -or Telepathy in NEXT- will now have a special flag 'maybeDisabled' in move requests if they are the last active pokémon.
- If a Pokémon having this flag attacks, the player will not be able to cancel their decision.
- Refactor Battle#parseChoice: Move decisions will now be parsed based on all the moves a pokémon knows after LockedMove, rather than only on validMoves. Any request to use a disabled move or a move with 0 PP will now be replied with a message in the form |callback|cant|[pokemon]|[sourceEffect]|[move], unless the pokémon has no valid moves, in which case it will use Struggle. The check for lockedMove in choice parsing is now performed as the first action after checking that the pokémon is not fainted. This prevents pokémon from Shifting to the center in Triples while being locked into a move.
- Don't report moves' being disabled to the client in requests if they are disabled due to Imprison or Telepathy. Instead, their being disabled will be reported using the mechanism described above.
Move Struggle usage warning to choice parsing
- It is now sent to the relevant player only, and before the turn resolves.
Bump version to 0.9.3
Battle choices will now be parsed in a significatively different way.
Explosion and Self-Destruct bug-fix

Explosion and Self-Destruct were not affected by burn before. This
commit effectively fixes that bug.
fix use of wrong member name in /userauth
Gen IV: Fix rampage moves against Detect/Protect.
Gen IV: Wish comes before weather damage.
Magician's handler is now purely a global event
Reverts 3b5d455
Slurpuff banned to BL3
Merge pull request #1341 from asgdf/patch-9

fix use of wrong member name in /userauth
Merge pull request #1343 from nmodi/patch-1

Slurpuff banned to BL3
Ability Refactor: Abilities now listen for End events

Added functionality for setAbility to send End events to abilities.

Fixed bug with Mold Breaker negating all Battle#singleEvent ability calls,
even those that don't involve damage calculation.

Fixed Skill Swap to now use End and Start events in the right order:
send the End events, then change the abilities, then send Start events.
If the same ability is swapped, don't send End events (the game simply
re-activates the abilities in question)

Moved SwitchOut/Faint events from weather to ability so the weather
can interact properly with Cloud Nine or Air Lock.

Primal weathers persist if a Pokemon with the relevant ability is
on-field, even if the originator switches out.
Merge pull request #1334 from ascriptmaster/primal

Ability refactor - Abilities now receive End events properly
Galladite banned from RU

fb post here: https://www.facebook.com/SmogonU/posts/10152876570582390
Merge pull request #1344 from nmodi/patch-2

Galladite banned from RU
Gen 1: PPs rollovers go to 63, not maxPP
Gen 1: Fix critical hits not going through screens
Gen 1: Fix trailing whitespace in mod
Gen 1: Revert sleep duration change

Since sleep takes a full turn to get awake, duration 1-7
is correct.
This commit undoes the wrong change in 84b14e8f937a6a2e0ddd8d963b089e4a13d9d5b7