Implement e2e send and recv with XNI (#18)

This I think is a working send and receive with XNI for e2e.
That means it also has a working request and release.  However,
it does change the send semantic of XDD E2E pretty dramatically.
There is no guarantee that a worker thread sends the buffer it read,
rather it simply sends the first available read buffer.  If this
semantic turns out to ruin performance, it should be straightforward
to write a combined release_and_request that simply flips the flags
for the target buffer without making it available to other threads.
For repeatability, that may turn out to matter.  Or, this technique
may turn out to improve ordering on the wire.  I simply don't know.