amqp_*_socket_send() error handling improvements
amqp_*_socket_writev() error-handling improvements

A lot of extra code was needed to effectively ignore SIGPIPE errors on
different platforms
amqp_*_socket_recv() error handling improvements
Migrate OS-socket funcs to amqp_socket.[ch]

Doing this for code clarity, as its easier to see what the issues are
when you have all implementations in one file