Merge pull request #28 from CarlosFdez/master

Client fix to starting battles
Implement Sucker Punch
Implement Grudge.
Use shorthand for team1.first() etc
Refactor Battle#getTargets
Add ids to raw pokemon data.
Different messages for Substitute.
Make client look a little better.
Fix getTargets bug.
Giant unintelligible refactoring.
Implement Stockpile.
Implement Spit Up
Implement Swallow.
Implement Rage.
Implement Avalanche and Revenge.
Implement Chip Away
Implemented multihit moves
Life Orb needs an afterMove callback before it can be implemented properly. Until then, that test is disabled.