restapi: Add support for vnic profiles

The patch adds support for the vnic profiles model.
The vnic profiles is added as a top collection and also
as a sub collection of the network resource:
/api/vnicprofiles/
/api/networks/{network:id}/vnicprofiles

The POST'ed element should look like:

<vnic_profile>
    <name>profile1</name>
    <network id="00000000-0000-0000-0000-000000000009"/>
    <port_mirroring>true</port_mirroring>
</vnic_profile>

Since the vnic profile is created for a network and it is
not supported to switch an existing vnic profile between
networks, the update action of the vnic profile is not
supported under the networks collection, only under the
top collection of the vnic profile.

Adding or updating vms or templates nics will utilize the
vnic profiles to define the connectivity of the vnic.

For VMs via:
POST: /api/vms/{vm:id}/nics/
PUT: /api/vms/{vm:id}/nics/{nic:id}/

For tempales via:
POST: /api/templates/{template:id}/nics/
PUT: /api/templates/{template:id}/nics/{nic:id}/

The vnic profile will replace the deprecated network name and
port mirroring.

The former api for add or update a nic:
 <nic>
     ...
     <network name="ovirtmgmt"/>
 </nic>

It is replaced by providing the vnic profile id:

 <nic>
     ...
     <vnic_profile id="fa5d0471-f83b-44ec-8715-7fe1a53ab7a6"/>
 </nic>

See: http://www.ovirt.org/Features/Vnic_Profiles

Change-Id: I7a0d472215ec1b0c359c0e2012e142ae8a627ce9
Signed-off-by: Moti Asayag <masayag@redhat.com>