[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
(cherry picked from commit 062fffa37a0c204aaecb48bb6cdc26c388288a34)
(cherry picked from commit ade9befb1d28f176de70902070bcf36706da06c6)
[live snapshot] snapshot backend image on the fly

This patch improves the previous commit with focuses on:

1. A migrate option is added to differenciate between exec and savevm.
   When savevm is used, vm will not be stopped.

   usage: migrate "savevm:gzip -c > STATEFILE.gz"

2. All backend images will be snapshotted on the fly.
(cherry picked from commit 02a35894a543593221400303e0e0734d43894879)
(cherry picked from commit a93be9a4af539a4841382296fbd2410361463874)
[live snapshot] export bdrv_snapshot_find
(cherry picked from commit dd963b9218cfa323f27f8d946c65b2e84f3c3fe3)
(cherry picked from commit 11102db5313da0bba74e04ebbedeb5b2e39ba414)
[live snapshot] allow to accept snapshot name

Usage:

1. start a vm:
qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/vm/winxp/winxp.img,if=none,id=drive0,format=qcow2,cache=directsync -device virtio-blk-pci,scsi=off,drive=drive0,id=disk0 -boot c -monitor stdio

2. take a live snapshot
(qemu) migrate "savevm:snanpshot-1:gzip -c > snapshot-1.gz"

3. load a snapshot
./qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/vm/winxp/winxp.img,if=none,id=drive0,format=qcow2,cache=directsync -device virtio-blk-pci,scsi=off,drive=drive0,id=disk0 -boot c -monitor stdio -incoming "exec: gzip -c -d snapshot-1.gz"
(cherry picked from commit 814c0e543a21aba9751cd23287a50b13a8a2e6ea)
(cherry picked from commit 4fbb0bebd06f9923d997d6494cea986d7cc1d400)
Merge branch 'dev.live_savevm' into dev.litevirt.v1