Don't destroy tlssocket until closed
If the isc___nmsocket_prep_destroy() is called on the not-yet-closed socket, the code calls respective isc__nm_*_close() function and exit. When the socket is already closed, the isc___nmsocket_prep_destroy() also calls nmsocket_maybe_destroy() that finally destroys the socket.
Fix the TLS transport which would be the only one breaking the paradigm, calling the isc__nm_tls_close() and then immediately calling nmsocket_maybe_destroy() on the same socket. Because the tlsclose is asynchronous, this might lead into wrong order of operations.
Closes #3509