bind() should not register listener that is already registered

bind() allows to register the same listener more than once causing problems on reconnection. This patch fixes this, by checking if given listener is not registered already.