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.

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