Clean up dmu_read_uio() and bring in #ifdef UIO_XUIO from FreeBSD