client: fix sync read zeroing at EOF

If we have a read that hits EOF, we need to do a short read.  Previously
we would zero the buffer if we were completely withing the file, but
we also need to zero things if we overlap with EOF.  This fixes a hang
of mpi-fsx on ceph-fuse.  Triggered/tested by
LibCephFS.MulticlientHoleEOF.

Fixes: #5368
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
libcephfs: add a couple multiclient tests

Signed-off-by: Sage Weil <sage@inktank.com>