Fixes for mds cluster

The last 8 commits change the "mds to client" protocol. They fix some corner cases of exporting caps. The kernel counterpart is at https://github.com/ceph/ceph-client/tree/wip-mds-cluster.

With these changes, my 3 mds test cluster (with thrash_exports enabled) can finish kernel compilation and survive overnight fsstree +dbench + blogbench test.