Initial support for PCIe Hot Plug support. There are two parts.
First is making the pci device adding more of a proper subclass, so that the PCI framework can add a pci device, and the various implementations (like ACPI) can
allocate/create the device w/ the necessary info.
Second is supporting hot plug. There is a kernel option on this part that will disable this functionality. This will initially be disabled, but we should look at enabling it by default to get the most testing.
This does not have the final state machine for controlling hot plug, that still needs some work.