queue: Use discoverd to keep track of the workers.

We cannot use PIDs to check inactivity due to the way database/sql maintains a
pool of connections. Instead, we register the jobs in discoverd, and with a
uuid, and then unlock jobs locked by workers which don't appear in discoverd.

Signed-off-by: Blaž Hrastnik <blaz.hrast@gmail.com>
all: Add johto/notifyutils to dependencies.

Signed-off-by: Blaž Hrastnik <blaz.hrast@gmail.com>
pkg/queue: Use notifydispatcher.

Simplifies our code for using one pq.Listener for many subscribers at once.

Signed-off-by: Blaž Hrastnik <blaz.hrast@gmail.com>
all: Update flynn/pq.

Signed-off-by: Blaž Hrastnik <blaz.hrast@gmail.com>