mds: only issue xlocker_caps if we are also the loner
We cannot issue caps to a client purely because they have something
xlocked, because we do not revoke caps when we drop the xlock. However,
if they are a loner AND have the object xlocked, we can; this is why the
xlock release code either moves to LOCK or EXCL state.
Remember, the goal here is to issue caps when we do operations on objects
that xlock them (e.g. setattr, mknod) and move directly to the EXCL state
afterward. That only works (or makes sense) when we are the lone client
with caps.
Fix the get_caps_allowed_by_type() helper to do this properly.