block-write: read/modify/write a 512-byte sector

Mirage only supports write_page, so use that. In future mirage's
blkif needs to support sector-granularity writes.

NB the rather hacky way we assume we can take the read_512 output
and stuff it into write_page.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>