When using Calluloid.shutdown there's race condition between listeners
and celluloid which in some cases leads to Listener calling #finalize on
dead actor. Added a guard that checks if actor is alive when we're
exiting from #_wait_for_changes and calls finalizer only if it's alive.
PS. I couldn't for a life figure out how to make this test pass. I hate
mocking libraries with all my heart. Feel free to fix this.
Stopping Listen on SIGINT seems to be no longer equired.
Instead we provide a way to stop all listeners in a non-blocking
`Listen.stop` and blocking way `Listen.stop(:and_wait)`
It's recommended to call `Listen.stop(:and_wait)` before exiting your
application to finalize all listeners.
Related to #194