Merge apprtc-collider branch to Master

The apprtc-collider branch contains the changes to 
1. Make AppRTC use Collider for signaling
2. The user joins the room on a separate POST message to GAE, instead of on the first GET
3. The first user of a room is the caller and GAE caches his signalling messages, which are pushed to the second user when the second user joins the room.

LOCKs just serialize on a single app server instance. They are like mutexes. I don't think they cause any serialization for datastore - as Zeke says, you need to use transactions for that.