refactor(PeerConnection): do not connect immediately after construction

Connecting immediately made sense for the demo application, but it does
not make sense for all use-cases.  In particular it causes problems when
doing unit testing with the PeerConnection class.
Update LocalPeer to call .connect() when it allocates a PeerConnection.
test(PeerConnection): verify peer connections and ready events

- Update MockPubSub to defer its calls so as to avoid stack overflows.
- Update to karma-jasmine 2.0 for async tests.
- Test that peers generate the same zone channel.