Gen 1: Implement correct Psywave damage calculation
In gen 1, it generates a random number from 0 to 255 until the number is higher than 0 and less than level + floor(level / 2) and then returns it.
Gen 1: Update readme
Gen 1: Implement burn attack dropping and its bugs properly
Attack is calculated with burn upon switch in and stored.
Attack drop is thus not restored with Rest.
Attack drop is restored with an attack debuff, removed with attack buff.
Gen 1: Floor all divisions
Gen 2: Remove unnecessary code
Gens 1 and 2: Proper stat reduction calculation
This is huge since there's a change in -1 Snorlax's speed that is relevant to Gen 2.

See:
http://www.smogon.com/forums/threads/stat-reduction-bug.3520407/
https://github.com/iimarckus/pokered/blob/master/engine/battle/core.asm#L7856
https://github.com/kanzure/pokecrystal/blob/master/battle/effect_commands.asm#L6608
Gen 1: Implement paralyse speed drop properly
Gens 1 and 2: Implement Psywave properly using less resources
Instead of doing the same as the cartridge does for Psywave damage, we hardocde the random possibility with a min and a max.
Merge pull request #38 from Zarel/master

Patch 2.10.1