Add PCI device object support

To support PCI passthrough, we keep all assignable PCI device information
in the database. Two objects are provided to access the pci devices.
PciDevice represents one specific PCI device on a compute node, and
PciDeviceList represents a list of pci devices.

A resource tracker on each compute node manages the PciDevice objects,
keeping track of their status and instance allocation.

bp:pci-passthrough-base

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