Replaces the pair of pair construct with a socketpair

BidirPipe now uses UNIXSocket.pair or the like for communication. This
simplifies things quite a bit and will also allow sending of sockets
through sockets later on.
Improves locking

I am hoping this will eliminate spurious concurrency errors I've had
when running the test suite. @queue is now better protected against
access from the outside.
Introduces #bidir_server and #bidir_named

This will allow to create servers based on local unix sockets. Currently
fails because we can't dump UNIXSockets yet.
Allows transmission of the 'self'-channel (bidir)
Implements part of the transfer of arbitrary sockets.

The part missing is the real nut to crack: How to embed sockets sent
with send_io into messages that consist otherwise of marshalled objects?
First working prototype for using send_io

Basically a hack, but achieves sending any kind of UNIXSocket through
any kind of UNIXSocket. Needs more work.