Implement Retaliate
Fix Encore + Mental Herb interaction
This fix involves overhauling how changeDecision works, which also
fixes priority order (and speed ties) getting rerolled when Encore
hits.
Fix Gen 4 learnset checking
Gen 4 OU ladder
Introduce global variable `Server`

This allows us to access the sockjs server using the console.
Allow chatting in battles while disabling lobby chat
Implement /hotpatch formats
Implement sockjs hack for Heroku

See https://github.com/sockjs/sockjs-node/issues/57#issuecomment-5242187
Fix gen 4 Roost
sockjs now runs under /showdown prefix
Add support for serving static files over HTTP
Revise custom avatar feature
Add /static/avatars/ to .gitignore
Fix /static/index.html redirect
Merge http://github.com/Zarel/Pokemon-Showdown