cpp: Minor TSocketPool cleanups - Make sure the underlying socket is always closed. - Don't reconnect on repeated calls to open. - Move some code outside of a try block.