Reject Head Smash with Sturdy

Donphan is mostly going to have Sturdy, so we also remove it from its move
set and replace it with some better stuff.
Nerf Articuno in Random Battles

Reduced to Level 82.
Update Balloon Fan Rotom (Rotom-Spin)

- Modified level scale so that it's less bad
- Removed Trick from its movepool because it's useless with Balloon
Merge pull request #1370 from ascriptmaster/randoms

Some random battle updates (as suggested by PS staff)
Only show ac account if different from username
Update Random Battle

- Added moves to Cherrim
- Changed levels
Reject Rock Head with less than two recoil moves

in Random Battle
Make sure Nature Power targets correctly
Improve Seasonal with user suggestions

Improved the set maker to avoid bad sets due to Present.
Made the mountain 500 meters shorter.
Made the chance to hit an obstacle slightly lower.
Added weight to the sleigh that is lowered by throwing Presents and makes you faster.
Refactor bite, bullet, and pulse moves
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.