added register_irq to register arbitrary number of handlers per irq

TODO: lots of TODOs were added to this commit. Some cleanup needs to be
done before adding more features. arch/x86/irq should probably be moved
into kernel/ instead of arch/ (except for __int()). Timer handling
should be moved out of dev/pit.c and into kernel/timer.c. pit.c maybe
should be renamed to 8253.c ? I don't know which name is worse... they
both really suck.