Fix a bug involving mutes

Changing to the name of an unregistered user who was muted caused
a totally unrelated person to pick up the unregistered user's mute
because there was no check done for whether the two users had the
same IP address.
Implement multiple simulator processes
Implement reporting usercount to login server
Include mandatory callback for `LoginServer.request`
Changes to user count reporting
Fix to user stat reporting
Make sure power and accuracy match the game's display.
Don't report stats as server starts up
Refactor `BattleRoom` to use prototypes

This should reduce memory usage.
Refactor `BattleSide` to use prototypes
Refactor `BattlePokemon` to use prototypes
Refactor `Battle` to use prototypes
Fix bug in `Battle` protoype refactor
Fix crash in Battle prototype refactor
Add missing semi-colon
Refactor previous fix for more DRY
NEXT: small Flame Charge buff
Optimisation to `Battle.construct`
Deoxys-D is now Uber.

http://www.smogon.com/forums/showpost.php?p=4599492&postcount=97
Add relevant fail messages for Endeavor.