iov_iter work; most of that is about getting rid of
direction misannotations and (hopefully) preventing
more of the same for the future.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>