util: add a helper round_down

Also changes roundup to round_up and this is a prepration patch.

Signed-off-by: Liu Yuan <namei.unix@gmail.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
plain store: add support to non-aglined read/write/create

Drop O_DIRECT for read/write/create

Signed-off-by: Liu Yuan <namei.unix@gmail.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
collie: don't round_up vdi size & read/write

Openstack Glance doesn't assume the size will be rounded up. We don't need block
uint constraint, it is no harm to support random read/write on the sheepdog vdi
on the byte granularity.

With removing the sector constraint, we'll get a better file-like abstraction to
store arbitrary length objects.

Signed-off-by: Liu Yuan <namei.unix@gmail.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
tests: add a tests/063 to test unaligned read/write/create

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

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