nametransform: implement ReadDirIV without Openat
nametransform: implement ReadDirIV without Openat

As ReadDirIV operates on a path anyway, opening the directory
has no clear safety advantage w.r.t. concurrent renames.

If the backing directory is a reverse-mounted gocryptfs filesystem,
each directory open is an OPENDIR, and this causes a full directory
read!

This patch improves the "ls -lR" performance of an

  DIR --> gocryptfs-reverse --> gocryptfs

chain by a factor of ~10.

OPENDIR counts for ls -lR:
  Before 15570
  After   2745

davesteele/gocryptfs,rfjakob/gocryptfs,rfjakob/gocryptfs,davesteele/gocryptfs,davesteele/gocryptfs,rfjakob/gocryptfs,rfjakob/gocryptfs