client: fix invalid iterator dereference in Client::trim_caps()
trimming inode drops a reference to the inode's parent, it may cause
the inode's parent also be trimmed. If the cap iterator 'p' happens to
point to the inode's parent and the inode's parent is trimmed, the cap
iterator 'p' become invalid.
Fix the issue by delaying removing cap from the seesion cap list.
(similar to what the kclient does)