Add `dispatcher::register_prior_listener()`, `dispatcher::unregister_prior_listener()`
These functions allows to register a listener to a event, but with higher priority
than the other listeners. There can be only one preferred listener per event.
Normal registred listeners wont get event calls while a preferred listener is registered.
This should fix a bug with token which needs to be turned over at the end of conveyor 1.
The cause is, that while turning the token over, the token triggers `EVENT_SENSOR_EXIT_R`
and `EVENT_SENSOR_EXIT`. The token behind the token which need to be turned already listen
on the event `EVENT_SENSOR_EXIT` and leave the queue too early.