This change introduces a teardown method to struct pci_devemu
(pe_teardown) along with the high-level pci_emul_teardown routine.
pe_teardown is responsible releasing any resources allocated in
pe_init, while pci_emul_teardown unregisters and releases all
device BARs into the appropriate vmem_t arena.
This is a prerequisite for PCI device hotplugging since it allows
us to release a device's resources upon ejecting it.