qemu: Add base libraries for new block_stream tests

These libraries implement basic block copy and
block stream abstractions that'll be later used
in the new, updated block stream tests.

Signed-off-by: Xu Tian <xutian@redhat.com>
qemu_monitor/qemu_vm: Introduce new block mirror APIs

They'll be needed to support the new block stream
and block mirror tests.

Acked-by: Suqin Huang <shuang@redhat.com>
Signed-off-by: Xu Tian <xutian@redhat.com>
qemu: Refactor and update block stream tests

Introduce new block stream test cases:

refactor block stream cancel, set speed to make
script more readable;

block_stream_simple test include sub-tests:

1) Cancel block stream job aync and sync, AKA
cancel before/after set block job speed event;
2) set limited speed when job start and reset
job speed after job started and query block job
status used in each test of block stream tests,
so no special test for it;

Signed-off-by: Xu Tian <xutian@redhat.com>