This adds some basic support for listening on and connecting to UNIX
sockets. Since a lot of code assumes, for example, that an IP address
and a port number is present, this socket will behave weirdly in various
situations, for example when listing all sockets and their remote
address. However, transferring data does work.
This also adds a simple test program to demonstrate this new support.
This program is an echo server and client in one process. It listens on
a UNIX socket, connects to it and sends the string "Hello World!" back
and forth. When run, the output is:
Incoming connection from localhost on port 0
Echoing: Hello World!
Client disconnected
We can already see in this output that the remote address is not
identified correctly.
Since this program leaves the socket behind (does not delete the
socket), running the sample program again results in:
Listener error: Address already in use
Failed to listen on 'echo'!