Move trapping of SIGINT to load time.

Listener trapped SIGINT on every instantization.
This created problems with overriding SIGINT in client and created issue
where only one instance of Listener would be properly finalized leading
to a long shutdown + SEGFAULT in some cases.

This commit moves singal trapping to Listen module and sets up a trap
once at load time, calling Listen.stop which should properly finalize
all Listener instances.

Additionally information about signal trapping was added to README.md

Fixes #194