A connection's socket is allowed to be null if it's being recreated after a failed connect(), this was handled correctly in request_did_finish but not in recreate_socket_if_needed; this commit fixes this oversight.