Ensure that the socket is always checked in after send_message_with_gle

Previously, unhandled exceptions could cause the driver to leave a pool
entry checked out indefinitely and would stall any other attempts from
the same thread to check out the item, as the orphaned socket was the
thread-affiliated socket.