fixes to peer-connection (avoid renegotiations)

* Moved to using better logging for datachannel.ts
* Added sourcemap for freedom
* Made peer-connection avoid bad renegotiation events (now starts negotiation by opening a data channel, so that the SDP headers always include data channels)
* Cleaned up sample chat app
* Added catch statements for errors
* Set options for data channel opening to optional. 
please do explain... break in what sense?