libnfs.c: always pass the attributes to the callback for recursive lookups

Always pass a fattr3 structure to the callbacks for the internal function
to perform recursive lookups : nfs_lookuppath_async().
This will allow us to access for example the mtime for an object before we
start performing any expensive functions.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
libnfs.c: add a simple dircache to libnfs

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
libnfs.c: add nlink to nfsdirent so we can get it for 'free'

update the nfs-ls utility to just use nfsdirent as is instead of having to
stat the files.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>