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 chat sample, and freedomchat sample.
* Added catch statements for errors
* Set options for data channel opening to optional. 
* Now using just ArrayBuffers for webrtc data because freedom/chrome/node/... don't correctly support passing arraybuffer views to webworkers.

TESTED: 
* grunt 
* manually ran chat, chat2, and freedomchat