vhd: optimise incremental parsing of vhd-formatted data

Coalesce runs of 1s or 0s in block bitmaps, merging most 512-byte
writes into 2MiB writes.

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