block-read-sector: create the file if it doesn't exist; truncate if it does

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

'read' should behave like Lwt_io.read: 'at most n bytes'
'read_exactly' should behave like Lwt_io.read_into_exactly: 'exactly n
  bytes or None if EOF'

Fixes jonludlam/xen-testvm#4

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