mds: Delay export on missing inodes for reconnect

The reconnect caps sent by the client on reconnect may not have
inodes found in the inode cache until after clientreplay (when
the client creates a new file, for example). Without the inode in the
cache, path_is_mine always returns false. Currently, we send an
export for that cap to the client if we don't see an inode in the cache.
Instead, we want to delay handling of the reconnect cap until
clientreplay completes.

This patch adjusts the conditional in handle_client_reconnect() slightly
so that we don't assume the cap isn't ours if we don't have an inode for
it, but instead delay recovery for later. An export cap message is only
sent if the inode exists and the cap isn't ours (non-auth) during
reconnect. If any remaining recovered caps exist in the recovered list
once the mds goes active, we send export messages at that point.

Also, after removing the path_is_mine check,
MDCache::parallel_fetch_traverse_dir() needs to skip non-auth dirfrags.

Fixes #4451.
Signed-off-by: Sam Lang <sam.lang@inktank.com>
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>