Add a VIF driver for IOVisor engine

Implements blueprint iovisor-vif-driver

Unit Test is included
Follows the same structure that OVS and Qbh drivers
Includes the rootwrap config to allow calls to ifc-ctl for managing IOVisor engine.

Change-Id: I346b4d84a6e48d56f307349ed681355d26710ecd
Fix blocking issue when powervm calculate checksum

In powervm driver, it takes long time to calculate file checksum
before and after transferring image file. Because nova-compute is
a single thread, it won't process any other work at the same time.
Here give other threads chance to run by using time.sleep(0), that
acts as a yield of the thread for eventlet.

Fixes bug #1181895

Change-Id: I79fbd9d7d4fb7791ca599b136cf9945dec8996e2
Fix accessing to '/' of metadata server without any checks to work

Accessing to '/' of metadata server to get version information should
be allowed without any checks. Due to the wrong comparison condition,
it failed.

Change-Id: Ia8603c321839b959b120af1d018f061f438155c7
Fixes: bug #1192774
Move resource usage sync functions to db backend

Resource usage sync functions was declared in nova/quota.py, and
using db.api public methods. This functions was moved to database
backend implementation, so now sync functions can use private
methods of database backend, and session attribute can be removed
from this public methods, and even some public methods can be removed.

Blueprint: db-session-cleanup

Change-Id: I63eeb18b8ede4b4263ee553d4e70633de463e0c4
Force reopening eventlet's hub after fork

With this we reopen eventlet's hub after a fork (triggered from
websockify when a new client connects) to prevent sharing epoll's fd
with the parent, which may cause erratic behaviour.

This caused novncproxy to stop working when it had more than two clients
connected.

Fixes bug #1193031

Change-Id: I3ff9001543b84b1037597da243422490bb611657
Merge "Force reopening eventlet's hub after fork"
Merge "Add a VIF driver for IOVisor engine"
Merge "Move resource usage sync functions to db backend"
Merge "Fix blocking issue when powervm calculate checksum"
Merge "Fix accessing to '/' of metadata server without any checks to work"
Alwas set model = 'netfront' for xen over libvirt.

This will prevent emulated network driver to be attached to virtual machine.
Emulated network driver is not working for xen over libvirt as tap interface
name is suffixed by xen with '-emu' which makes this interface name to long.

Additionaly security groups will not also work for this interface as openstack
is setting up filters on interface without -emu suffix.

Change-Id: I156ca3422ca4e6c4afe2eaa1aec10f0bb86238d6
Fixes: bug #1202199