Implement add_listener API

Closes GH-29
Switch to autobahn

Closes GH-30
Implement listen_many

Closes GH-31

Having a single, global condition will make threads wake up more often,
so this design favors users with fewer threads. Many threads will still
work, however.
Notify listeners about existing files again