sheep: introduce xfallocate and xftruncate helpers

These helpers retry the syscalls while the error is retry-able.

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>
use 4KB for trim_zero_sectors instead of 512B

Most filesystems use 4KB for their block sizes, and in that case
trimming 512B may be meaningless.  It's better to use the block size
than the sector size for faster comparison.

This also allows for the caller to specify the offset of buffer so
that it can get the block-aligned offset and length.  It is in
preparation for allowing sparse objects.

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>