Handle callback provided to listen

This will now die if host is specified to avoid any case where someone is surprised by there not being any filtering based on a specified host.

If a callback is provided, it will be added to the 'listening' event.

There are many other permutations of calls to listen that could happen according to http://nodejs.org/api/net.html#net_class_net_server. This 'listening' functionality seems important and including this patch will at least act as a reminder there are more ways this function can be called.