Fixes #181 and #185. Listener#listen? considers start/stopped state. Listeners can be restarted.

Before these changes, a ```Listener#listen?``` returned true even if a listener had been stopped.

Additionally, calling ```stop``` and then ```start``` on a listener did not re-start it.