Add unix socket

This is a competing PR to #466 to **finally* get this stuff done.
Use the data field in io.