Revert "Revert "fuse: re-work fuse_direct_io() to operate on iovec[]""

This reverts commit ae7db5fc7b63187924da6ec35ce5e979aeb8c4a3.
Revert "Revert "fuse: re-work fuse_get_user_pages() to operate on iovec[]""

This reverts commit 7e993a9516666406f1e4770ef60781dd39061549.
Revert "Revert "fuse: add basic support of iovec[] to fuse_req""

This reverts commit 9cfeb1bf90797c892367ab2e96ec2be0542733d4.