http: Emit all socket errors on the request object

This fixes #3945

The potential hazard is that anyone who doesn't add a `req.on('error', handler)` in their http server is now vulnerable to a DoS attack.  Perhaps we should check for a `req.listeners('error').length` before emitting on the request?

/cc @bnoordhuis @piscisaureus