AppRTC new signaling model

Server and web client changes for new signaling model. The gist of it is below:

Clients are required to register with GAE before sending messages, and will
receive a client id upon registration. The first client C1 sends all its
signaling messages to GAE. GAE will store the messages if the second client C2
has not registered yet, otherwise GAE will forward the messages to Collider,
which will then deliver the message over C2's websocket connection. When C2
registers it will receive all stored messages from C1. C2 sends all its
signaling messages through Collider. Each GAE registration is matched
with a BYE command to GAE on hangup.
The name "setupCall" is too generic. I'd recommend to split it into smaller methods, which wraps the Promise handlers and does only one thing.