Add static method, and accept() is now templated

Since the destructor of Socket closes the socket, some methods are useful to use the socket without instanciating the object immediately to spare memory, such as when a new client connects but does not send data.

accept is now a specialized template function that can give a TCPConnection or a handle.