Multiprocessing: Always close RPC Listener sockets

Moving Listener accept() into try..finally statement to fix race
condition where if system is out of file descriptors the socket
open will fail and will be put back into the available queue without
being properly closed.