net: give better error messages

Add address and/or port to errors where applicable for better reporting.

See #7005
Hm, with this, we lose the original `err` properties though. Should we instead do something like

```js
if (err) {
  var message = util.format('%s %s %s:%s',
                            err.syscall,
                            err.errno,
                            options.host,
                            options.port);
  var ex = errnoException(err, err.code, message, options);
  // net.createConnection() creates a net.Socket object and
  // immediately calls net.Socket.connect() on it (that's us).
  // There are no event listeners registered yet so defer the
  // error event to the next tick.
  process.nextTick(function() {
    self.emit('error', ex);
    self._destroy();
  });
}
```