test: verify that a vhd can be streamed as a self-contained vhd

For every interesting vhd bit pattern we use the streaming API
to write out a consolidated, self-contained vhd. We then open
this and check the contents are the same, modulo allowing for
all sectors to be present in the sector bitmap.

This test currently fails.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
streaming: only stream non-empty blocks

We were calculating block offsets assuming (sensibly) that we wouldn't
pre-allocate empty blocks. Since we were actually streaming empty
blocks anyway, the BAT entry wasn't pointing to the right place.

This fixes the broken unit test.

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