Fix deadlock in mrpc_listen_close()
Fix deadlock in mrpc_listen_close()

- mrpc_listen_close() unnecessarily held set->conns_lock across a call to
pollset_del().  pollset_del() waits for pollset_poll() to finish, but
pollset_poll() could call try_accept(), which calls mrpc_conn_create(),
which takes set->conns_lock.  Drop conns_lock across pollset_del() calls.

- Take a conn set reference during mrpc_listen_close() to make sure the
set doesn't disappear out from under us

cmusatyalab/minirpc,cmusatyalab/minirpc