Correct completion_hook response handling.

The primary correction is to remove a double free of
response xio_msg handles in XioCompletionHook completion.
To achieve this, the XioPool convenience class is used
to allocate all response buffers that will be needed
for the logical message (we wrongly assumed in part
of the code that there could only be one, but not in
the rest).

Signed-off-by: Matt Benjamin <matt@linuxbox.com>