Spinlocks in process management is probably a bad idea
IRQ handlers given more responsibility

Now, they're responsible for sending EOI
Fixed writes to ATA control register
Fix IDE stuff

Interrupts are now handled correctly (I think)
It's really hard to find good example code
Probably going to rename IDE to ATA, as that's the more accepted acronym for what I'm doing
here
Prog IF is byte, not word
Blockdev request rewrite
Improve tasklets
Update IDE driver