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.
Is this possible?
This shouldn't happen for the first two users: the first is always initiator and never doAnswer.
If the first user leaves the room, params.isInitiator is stale since the second user is now promoted to be the "first".

I think we should always send the answer to WSS. There is no benefits in caching an answer on GAE.