Channel passing: ensure sockets and file descriptors are cleaned up

The 'send' function called by rpc_of_t allocates a set of fds
and dup()s the fd to be sent. It then forks a background thread to
be the server and hands over control of the resources to it. The
function can then return, leaving the caller to close its copy
of the file descriptor without disrupting the background thread.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge branch 'master' of github.com:djs55/xcp-idl