BLOCK: implement read, write

Note the vhd API requires an extra data copy -- we should remove
this.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>