synctask: minor enhancements

- Enhance syncenv_new() to accept scaling parameters of syncproc.
  Previously the scaling parameters were hardcoded and decided at
  compile time.

- New API synctask_create() which returns the created synctask. This
  is similar to synctask_new which only returned the status of whether
  a synctask could be created or not.

  The meaning of NULL cbk in synctask_create() means the task is
  "joinable". Until synctask_join() is called on such a synctask,
  the task is not reaped and resources are not destroyed. The
  task would be in a zombie state after synctask_fn returns and
  before synctask_join() is called.

Change-Id: I368ec9037de9510d2ba951f0aad86aaf18d9a6b6
Signed-off-by: Anand Avati <avati@redhat.com>
contrib/qemu: Import qemu block source code

This qemu block format source code and its minimal
dependency files will be used in the next patch to implement
a qemu-block format translator.

Signed-off-by: Anand Avati <avati@redhat.com>

Change-Id: Ic87638972f7ea9b3df84d7a0539512a250c11c1c
Signed-off-by: Anand Avati <avati@redhat.com>
features/qemu-block: support for QCOW2 and QED formats

Change-Id: If993e057a9455967ba3fa9dcabb7f74b8b2cf4c3
Signed-off-by: Anand Avati <avati@redhat.com>