Refactor listener to receive status messages connectly on SSL connections.

The poll(2) / read(2) code needed to be reworked to reflect that SSL is
doing its own buffering -- poll may indicate that a socket has no more
to read, but there may still be data in the SSL socket's BIO. If poll
indicates data is available, keep reeding it and sinking it until
WANT_READ is returned. With this change, test_system_bus is able to
get status messages through SSL.

Also, change the hash table from tracking a (file descriptor) set to
tracking a (file descriptor -> fd_info) map, in preparation for
tracking which connections are plain or SSL in the sender. The
sender is not fully updated to SSL yet.