Reduced the GC pressure in the Listener.

Reduced the GC pressure caused by the Listener.  AddSocket/RemoveSocket do their own array doubling, and listen reuses the result and nn_pollfd arrays needed by NN.Poll.

BTW the various tests all seem to lock up at the thread.abort(), except for the listener test which simply goes into a deliberate infinite loop.  I have a hacked version of the test code that works around these issues so the test runs to completion, do you want that as well?