Add a streaming interface

The function 'raw' outputs the data contained within a vhd as a
stream of fragments, where a fragment can be

  Empty <bytes>
  Copy (<vhd file>, absolute byte offset, length)
  Block <data to write>

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