qemu-iotests: add add-cow iotests support

This patch will use qemu-iotests to test add-cow file format.

v17-v18:
1) add 037 and 038 tests.

Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>

Conflicts:
	tests/qemu-iotests/common.rc
make path_has_protocol non static

We will use path_has_protocol outside block.c, so just make it public.

Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>
qed_read_string to bdrv_read_string

Make qed_read_string function to a common interface, so move it to
block.c.

Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>
rename qcow2-cache.c to block-cache.c

Block layer will use qcow2-cache as common cache code, so rename
it to block-cache.c.