block: add BlockDriver.bdrv_zero_init.

This field is used to zero-initialize block device. It can be
used to preallocate space for the block device.

Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
block/raw-posix: implement bdrv_zero_init

Implement bdrv_zero_init using posix_fallocate.

Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
qcow2: implement bdrv_zero_init

Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
qcow2: Add full image preallocation option

This adds a preallocation=full mode to qcow2 image creation, which
creates a non-sparse image file.

Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>