Modify Response object to correctly propagate 'error' events from the underlying socket object

This is a second part of the fix for #429. 

It modifies `Response` object to correctly propagate `error` events (`EPIPE`, `ECONNRESET`, ...) from the underlying `socket` object.

It turns out that I was right in #429 and there were two problems. First one was `__POSIX__` not being defined which caused `SIGPIPE` signals to not be ignored. The other one is that `Response` object doesn't correctly propagate `error` events from the underlying socket object.

I haven't immediately noticed this after posix thing was fixed because I had local modifications with a fix so it worked for me.