[live snapshot] initial support for live snapshot

1. apply recent iov patches to resolve savevm regression,
   which includes:

      migration: set f->is_write and flush in add_to_iovec
      migration: use a single I/O operation when writev_buffer is not defined
      migration: drop is_write complications
      migration: simplify writev vs. non-writev logic
      block: Introduce bdrv_writev_vmstate
      savevm: Implement block_writev_buffer()
      block: Introduce bdrv_pwritev() for qcow2_save_vmstate
      qemu-iotests: A few more bdrv_pread/pwrite test

2. temporarilly modify migration thread so not to stop vm
   after migration is completed, which requires further optimization to
   support both live migration and live snapshot.

3. snapshot a vm: migrate "exec:gzip -c > STATEFILE.gz"

4. restore a vm: <qemu-command-line> -incoming "exec: gzip -c -d STATEFILE.gz"

5. for more migration usage, see http://www.linux-kvm.org/page/Migration