x86: add hlt() wrapper
scheduler: hlt and wait for irq if nothing was scheduleable

h/t takenmate@hackernews who did this a bit more verbosely