Make string conversion of a sha digest public
Xsend on raw socket forwards raw packet now

When a raw packet is delivered to user space and then then returned back
via Xsend, we just forward the packet as is, without modifying the
header or contents. The application holding the raw socket is
responsible for providing a routable raw packet to Xsend.
We cannot allow Xsendto because a destination is needed and the
application may not be able to easily provide a valid one. If we do want
to use Xsendto, the destination options can probably be ignored and just
a check for raw socket may allow us to forward packet as is.
Rendezvous daemon modifies and forwards correctly.

The rendezvous service data plane finds the AD and HID in the packet.
Then it finds the HID in its internal table and the corresponding new
AD. The new AD is substituted for the old one in the header. The last
pointer is set to -1 (the source node) and the packet sent back out on
the network.
Allow Xsend() on unconnected raw sockets.