Event handling can have multiple handlers

Events have a type (integer), like IRQs.  We can now have multiple handlers per
event type, all of which are executed for each event.
Fixes preempt/indir tracing in lock_test

Much nicer than overriding the lock handler, and we don't need to expose the vc
and indir handlers anymore.
Removes the alarm_dispatcher

Can just register multiple handlers: one for the global alarm service and
another for the per-vc alarm.

In the future, we'll probably get the full kernel alarm tchain code in
userspace, and each of the #A alarms (global, pvc) will be a separate tchain.
Removes extra CASs in the PVC alarm

Just need a read (with appropriate ordering).