Port uproxy-networking to freedom 0.6

So, what happens if `peerconnection.close()` raises an exception?

What do you think of something like:
```typescript
return Promise.all([
  new Promise((F,R) => { this.peerConnection_.close(); F(); }),
  this.tcpServer_.shutdown
]);
```

I think this way any exceptions thrown will be returned in the "promises way".