Minimal fix to race condition that causes nsca to hang.

We shouldn't call handlers on POLLNVAL file descriptors. I.e., close()d.

What can happen in the worst case is this:

  * a particular FD is waiting for e=POLLIN
  * poll returns it with re=POLLIN or POLLERR or POLLHUP
  * in handle_connection_read it has an error and we close it
  * a new connection comes in and is pending accept()
  * poll() in handle_events returns POLLIN on the listen_socket and also
    POLLNVAL on our FD
  * accept_connection runs and accept returns the same FD as the one we closed
  * accept_connection registers it for POLLOUT but it still has POLLIN as well
  * the pdfs loop in handle_events finds it with e=POLLIN re=POLLNVAL
  * calls handle_connection_read on it but O_NONBLOCK has not been set yet
  * recv() on blocking FD.
  * Hang until other end disconnects, or if already disconnected hang forever

Mostly this is a band-aid around the dodgy handler mechanisms in
SINGLE_PROCESS_DAEMON mode, but it does stop the hang.