AHCI - Port multiplier plug/unplug work, tuning, cleanup, bug fixes.
* Clean up the command dispatch and polling code, including fixing a
deadlock between the timeout code and the polling code. The polling
code now checks for timed-out CCBs.
* Test some of the delay intervals in the hard and softreset code to
reduce protocol problems.
* Add an exclusive-access abstraction for dealing with device insertions
and removals. This isn't working perfectly yet, there are still some
communications issues due to the newly inserted device interfering with
devices already in the enclosure.
* Greatly reduce probe times.