simplify construction, rename Create to CreateWithChannel
add TODO to rename Peer.sendSignal
improve compositionality in fetchOrCreatePeer_
have Server.startListening_ return success promise when it succeeds