Cleanup some of the newbus infrastructure.
* Change the device_identify API to return success/failure, like
most of the other newbus methods. This may be used for conflict
resolution in the future.
* Clearly document the device_identify method and formalize its use
by adding discrimination between initial bus probes and bus rescans.
Do not re-execute static identification code that has already been run
every time a new driver is added at run-time.
* Clearly document the do-ISA-last hack.
* Provide generic routines for the most common device_identify operations
(psueo or synthesized devices that operate under other devices, such as
lpt operating under ppbus, which are not 'scanned' by the parent bus).
* Remove the hacks that install and initialize the nexus device. Instead,
use the existing DRIVER_MODULE infrastructure to install nexus under
root_bus.
* Document the boot-time initialization path so it doesn't take the next
guy 8 hours to figure out what code is actually being run when.