Allow a different socket contructor than socket.socket