Huge refactor; battle and team passed in.

The decision was made to create circular references in Pokemon,
Attachment, and Team. While circular references sometimes create
problems (read: maximum stack errors), in this case the advantages
outweigh the disadvantages.

Namely, we will be able to access battle everywhere. This is huge since
Pokemon is such a giant state machine.
Merge pull request #32 from CarlosFdez/master

Start migration to sockjs
Unhackify Synchronize a little.
Pokemon cannot be frozen under Sun.
Implement Leaf Guard.
Implement Intimidate.
Implement Scrappy.
Implement Unnerve.
Implement Unnerve.
Hardcode recoil moves and Rock Head.
Reflect and Light Screen modify in Attachment itself.
Implement Imposter, nicer Transform impl.
Client receives JSON without circular dependencies.
Reflect and Light Screen don't trigger on CHs.
Revamp entire layout.
Add item and move data to the client.
Comment out Torrent.
Update Backbone
Refactor player hash into an array.
Vendor a local sock.js client