net: give better error messages

Add address and/or port to errors where applicable for better reporting.

See #7005
You'll have to generate the error before the `process.nextTick()` or the stack trace will be lost. Possibly it needs to be changed to the following:
```javascript
if (err) {
  var message = util.format('%s %s %s:%s',
                            err.syscall,
                            err.errno,
                            options.host,
                            options.port);
  var ex = new Error(message);
  util._extend(ex, 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();
  });
}
```