Rework pseudo_unmount_export for proper locking, also rework cleanup_pseudofs_node

cleanup_pseudofs_node now just modifies the pseudopath string in place (with
the caller having made a copy). Also several paranoia checks have been removed
and the caller is now responsible for checking if the mounted_on_export is
FSAL_PSEUDO (this reduces the number of checks). Also, LRU refcount is
released by the caller.

pseudo_unmount_export now does proper synchronisation looking at
junction_inode. It uses the export read lock to protect looking at
junction_inode and gets and LRU reference, then it drops the export read lock.

Next it acquires the attr_lock, and verifies if junction_inode->junction_export
STILL points to the export in question. If so THEN it acquires the export write
lock and THEN proceeds to cleanup.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
Acked-by: Malahal Naineni <malahal@us.ibm.com>