Improve error handling in socket functions
Move amqp_os_socket* funcs to amqp_socket.h/c

Doing this for code clarity, as its easier to see what the issues are
when you have all implementations in one file
Change amqp_error_string() to ret static strings

This is an API/ABI break.