Add a new constructor method that allows creating a `Socket` from an existing file-descriptor of a socket. This might be need when the socket was passed to a child process. Add a simple test for the new constructor method.