PCI alias support

Add PCI alias support.

User may have specific device requirements for passthrough device, like
specific NIC card from specific vendor with specific network access.

It's too long and not straightforward to specify these requirements in
flavor directly, also cloud administrator may want to control what pci
requirements the user can specify and want to hide some device details
like the switch IP address a NIC is connected.

Pci alias is defined to specify the pci requirements and is specified in
the flavor extra specs. The API layer will translate the alias information
in flavor extra specs to pci requirement according to pci alias definition.

bp:pci-passthrough-base

Change-Id:I82a7826f72da8b41e95fb6d27cd03f68ed849880
Signed-off-by: Yongli He <yongli.he@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Merge "PCI alias support"