conf: pay attention to bus minSlot/maxSlot when autoassigning PCI addresses
conf: pay attention to bus minSlot/maxSlot when autoassigning PCI addresses

The function that auto-assigns PCI addresses was written with the
hardcoded assumptions that any PCI bus would have slots available
starting at 1 and ending at 31. This isn't true for many types of
controllers (some have a single slot/port at 0, some have slots/ports
from 0 to 31). This patch updates that function to remove the
hardcoded assumptions. It will properly find/assign addresses for
devices that can only connect to pcie-(root|downstream)-port (which
have minSlot/maxSlot of 0/0) or a pcie-switch-upstream-port (0/31).

It still will not auto-create a new bus of the proper kind for these
connections when one doesn't exist, that task is for another day.

agx/libvirt,jfehlig/libvirt,olafhering/libvirt,VenkatDatta/libvirt,jardasgit/libvirt,VenkatDatta/libvirt,taget/libvirt,crobinso/libvirt,taget/libvirt,rlaager/libvirt,jardasgit/libvirt,VenkatDatta/libvirt,andreabolognani/libvirt,libvirt/libvirt,rlaager/libvirt,taget/libvirt,datto/libvirt,VenkatDatta/libvirt,nertpinx/libvirt,zippy2/libvirt,fabianfreyer/libvirt,nertpinx/libvirt,jfehlig/libvirt,datto/libvirt,fabianfreyer/libvirt,eskultety/libvirt,jfehlig/libvirt,jfehlig/libvirt,crobinso/libvirt,agx/libvirt,fabianfreyer/libvirt,taget/libvirt,rlaager/libvirt,andreabolognani/libvirt,libvirt/libvirt,eskultety/libvirt,nertpinx/libvirt,jardasgit/libvirt,olafhering/libvirt,VenkatDatta/libvirt,rlaager/libvirt,olafhering/libvirt,taget/libvirt,libvirt/libvirt,zippy2/libvirt,nertpinx/libvirt,olafhering/libvirt,jardasgit/libvirt,datto/libvirt,zippy2/libvirt,fabianfreyer/libvirt,fabianfreyer/libvirt,eskultety/libvirt,agx/libvirt,andreabolognani/libvirt,jardasgit/libvirt,eskultety/libvirt,andreabolognani/libvirt,libvirt/libvirt,rlaager/libvirt,eskultety/libvirt,andreabolognani/libvirt,datto/libvirt,agx/libvirt,zippy2/libvirt,datto/libvirt,agx/libvirt,crobinso/libvirt,nertpinx/libvirt,crobinso/libvirt