Support SR-IOV networking in nova compute api and nova neutronv2

Add another field into the NetworkRequest object for the request_id.
For a SR-IOV port, Create a PCI request and add the pci-request-id into
the tuple. For a non SR-IOV port, the pci-request-id is None.
Add new fields 'profile' and 'vnic_type' in VIF.
Enhance nova neutronv2 api module to:
  -- retrieve a port's vnic-type and the physical network it is attached to
  -- populate binding:profile before updating a neutron port
  -- populate VIF with newly added fields.
Partially Implements: blueprint pci-passthrough-sriov
Change-Id: I4aab1cd43960d5b1b54a67a05c191f295dfc46fb
Merge "Support SR-IOV networking in nova compute api and nova neutronv2"