Hurd: avoid using the deprecated RPC pci_get_ndevs()
This patch removes all references to the deprecated RPC get_ndevs.
It also includes minor fixes:
- enum_devices: Call closedir on error, to avoid memory leaks
- Use a weak reference to know whether a client is an arbiter
- Clean up when the device scan fails.