Change libvirt close callback to use green thread

The native thread that calls the close callback is being
used to update a host's status, potentially causing threading
issues, since it involves operations that should only be
performed by green threads. This change fixes the issue
by limiting the native thread's interaction to adding data
to a queue and leaving the remaining work for
a green thread.

Closes-Bug: #1290487
Closes-Bug: #1293641

Change-Id: I59c14da15e4655dc4bf21d4de3d509472b146f7a
Fix availability-zone option miss when creates an instance

In test_availability_zone.py the availability-zone option is
used as 'availability_zone' which should be modified to
'os-availability-zone:availability_zone'.

Change-Id: I765d07b699ecb425dadccb22af834b11f52ff5b0
Closes-Bug: #1270811
Merge "Change libvirt close callback to use green thread"
Merge "Fix availability-zone option miss when creates an instance"