Some device models will call pci_host_read_config() when probing for
devices. Currently this results in pcifd_init() opening /dev/pci, and
thus bhyve holds the fd open even when it's not needed.
Modify pci_host_{read,write}_config() to use the global pcifd only if
it's already open, otherwise just open the device and close it
immediately after we're done. This works fine so long as bhyve is still
initializing and isn't yet in capability mode, which appears to be the
case for existing calls that aren't in the passthru code.
Fixes: 563fd2240e13 ("bhyve: export funcs for read/write pci config")