vkr: add iov support to vkr_ring
The ring has 3 regions: control, buffer, and extra.
The first 8 commits prepare vkr_ring
for iov support. Most of them are nice refactoring, except they also add iov support for the control region and the extra region.
The following two commits add iov support to the buffer region.
The last two commits advertise the support to clients.