Simplify offset handling

We now use int64s everywhere a value refers to a disk offset.
We store the Header.block_size (which must be a power of 2) as a
  power of 2 for easy shifting.
We now prefer to calculate sector addresses rather than byte addresses,
  since everything is naturally sector-aligned.

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