making scheduling work!

I needed to remove ESP from the set of registers pushed and popped
when an interrupt is fired because before they are popped back
off the stack (during the thread switch), the new thread's ESP
must be restored from it's context. This prevents me from using
the Intel `pusha` and `popa` instructions... so I'll look into that.

Also removed `useresp` and `ss` regs from `struct regs` since they
are apparently only pushed on the stack in user mode. I'll read more
about that too.

The current thread-life quantum is 50 (@100Hz, so 0.5 sec), just for
testing purposes.