Implement Pledges
This introduces a new function battle.prioritizeQueue which
will move a decision to the front of the queue
Implement Round
Stopgap fix for server crash
Fix 1v1CC Team Preview with Zoroark
Round doesn't have to be successful to boost
Fix bug causing crashes

Previously, Simulator.prototype.resendRequest() called user.sendTo()
with an invalid room specified, causing the server to send the
message to all rooms, leading to problems on the live server.
Reinstate stopgap for now

On further analysis, I'm not sure what the bug is here so I will
leave in the stopgap until is more thoroughly analysed.
Actually fix bug causing crashes on live server

The following sequence of events was causing a crash:

1) User sends in decision to server (with the wrong rqid specified).
2) Server receives decision and sends message M to simulator process.
3) User leaves battle and sends the server a message to inform of this.
4) Server removes the user from his or her battle in the main process,
   which sets the user's entry in simulator.player to null.
5) The simulator process processes message M and, since the rqid in
   the decision is wrong, send a resendrequest message back to the
   main process.
6) The main process in resendRequest() tries to access properties of
   the player, which are now null as of event (4), causing a crash.

This commit fixes the problem by making sure that user is not null
before accessing its properties.
Commit missing file for last commit

I accidentally forgot to commit the other file for Zarel/Pokemon-Showdown@9b3e433bc7a5946fc0e1b409e82a91c4f4137aff
Don't resend request in case of wrong rqid

It is not actually necessary to resend the request if the rqid
is wrong because the player will have received the request after
sending in the move, so the client will still be in the move
selection phase.