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
Merge pull request #32 from RealDolos/add_listener

Implement a lot of stuff