Properly quit Listen when receiving the INT signal

Calling `exit` does not stop Listen in a clean way, that's
causing a very long exit. Celluloid actors cannot be
terminated in a trap block so we cannot call `#stop` inside
the trap block.
The trick is to simply call `#stop` which now only sets an instance
variable to let the thread know that it should exit its
loop and wait for the thread to exit.
The thread then exit its loop, then terminate Celluloid actors cleanly
and exit itself.
Fix specs
Merge pull request #148 from guard/issue-146-better-exit-on-int-signal

Properly quit Listen when receiving the INT signal