better error handling; data channel fixes; improved sample chat2 app 

* Added error handling for uproxypeerconnection
* Fixes to the chat2 demo to work correctly with sending on multiple channels
* Fixes to data channel's sending of strings (empty string now handled correctly)
* Sourcemaps included for third_party js code 
Without having defined possible values somewhere, it seems like `errcode` is not terribly useful right now. I also think it should be a number or enum. Having played around with this earlier in the day, I know that Freedom doesn't require an  `errcode` field.