Add Log. GSock will output log if compiled with GSOCK_DEBUG.
Add error handling and return value reference.
Fix compile error on getaddrinfo().
Fix logic error on moving sockets. Now one socket will only be opened
and closed once, even if class sock is moved.