watcher: use a PriorityQueue

Commit 839d24e61664b91a06ef972102111a9c550d6eb3 was meant to use a
priority queue. This is not the case, switch to priority queue. This
allows connection-related events to be handled earlier and discards a
few backtraces. This does not change the overall logic of the FSM.