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 
So, you haven't edited `uproxypeerconnection.fdom-interface.ts`. Without doing so, Freedom will not return your rejected promises. You need something like this:
```js
  'negotiateConnection': {
    type: 'method',
    value: [],
    ret: 'object',
    err: {
      'message': 'string'
    }
  }
```

(I would drop `errcode` for now -- see comment below)