Host reset: don't wait for IDE non-busy, just hit the reset line and
hope that it puts the IDE controller into a working state (as it usually
does).
cosmetic cleanup
timeout busy wait function
new code: if after sleep, device reset seems to hang the IDE controller
(stuck busy), issue host reset.