bpo-33769: start_tls: Fix error message; cancel callbacks on error (GH-7403) (GH-7428)

In addition to that, mark SSLTransport as "closed" in its "abort()" method to prevent bogus warnings.
(cherry picked from commit 415bc46a78e785f357c8960ae70f18a6b6cccbb6)

Co-authored-by: Yury Selivanov <yury@magic.io>
diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py
index 34cc625..68a1ebe 100644
--- a/Lib/asyncio/base_events.py
+++ b/Lib/asyncio/base_events.py
@@ -1097,7 +1097,7 @@
 
         if not getattr(transport, '_start_tls_compatible', False):
             raise TypeError(
-                f'transport {self!r} is not supported by start_tls()')
+                f'transport {transport!r} is not supported by start_tls()')
 
         waiter = self.create_future()
         ssl_protocol = sslproto.SSLProtocol(
@@ -1111,13 +1111,15 @@
         transport.pause_reading()
 
         transport.set_protocol(ssl_protocol)
-        self.call_soon(ssl_protocol.connection_made, transport)
-        self.call_soon(transport.resume_reading)
+        conmade_cb = self.call_soon(ssl_protocol.connection_made, transport)
+        resume_cb = self.call_soon(transport.resume_reading)
 
         try:
             await waiter
         except Exception:
             transport.close()
+            conmade_cb.cancel()
+            resume_cb.cancel()
             raise
 
         return ssl_protocol._app_transport