transport: do not disconnect transport on SIP transport error
In error case backend calls sip_transport_error() which called
sipe_backend_connection_error() (forwarded to purple) and then
sipe_backend_transport_disconnect(). That leaves sipe_private->transport NULL.
purple now calls sipe_close(), which calls sipe_core_deallocate() and that
tries to send SIP messages with sipe_private->transport == NULL -> *BOOM*
Now we don't disconnect on error and just wait for purple to close the
connection which will then call sipe_backend_transport_disconnect() *AFTER*
the last SIP message have been sent.
I can only hope that this doesn't leave a memory leak somewhere...