Add a stop method in PeerListener and use it in TransportLayer.shutdown which still pointed to self.ctx but was never set
Create the zmq context when we start listening and destroy it when stop is called