sheep: introduce sparse objects

We don't need to care about a fragmentation when
 - the object is unlikely to be accessed sequentially, and
 - the object is read-only.

In that sense, we can make the objects sparse if they are not data
objects and writable ones.

This fixes the problem that sheepdog consumes many disk spaces for
deleted vdi objects.

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
sheep: caluculate actually allocated size

Now we allow sparse objects, it's better to calculate the actually
allocated sizes.

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
tests: update outputs of testcases for reclaim and new vdi object size

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>