Add a control.vm module

All vm devices should be in this module

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
VM supports interfaces: update API

Now kimchi supports network get/create/delete/activate/deactivate
REST API.

We need to support the attach/detach/ a Network to a VM.
https://github.com/kimchi-project/kimchi/wiki/customize-VM#organization-of-sub-resources-and-rest-api-exposition
And get the info of Network attached to a VM.

more libvirt network interfaces info:
http://libvirt.org/formatdomain.html#elementsNICS

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
VM supports interfaces: update model

Support vm ifaces collection GET method
$ curl -u user -H 'Accept: application/json' -H 'Content-type:
application/json'  http://localhost:800/vms/vm-name/ifaces/

Support vm iface resource GET method
$ curl -u user -H 'Accept: application/json' -H 'Content-type:
application/json'  http://localhost:800/vms/vm-name/ifaces/mac

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
VM supports interfaces: update controller

add VmIfaces collection and VmIface resource

Update VM resource.

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
VM supports interfaces: update mockmodel

Support vm ifaces collection GET method
$ curl -u user -H 'Accept: application/json' -H 'Content-type:
application/json'  http://localhost:800/vms/vm-name/ifaces/

Support vm iface resource GET method
$ curl -u user -H 'Accept: application/json' -H 'Content-type:
application/json'  http://localhost:800/vms/vm-name/ifaces/mac

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
VM supports interfaces: update testcase

update test_rest and test_model

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>