Remove deprecated tsafe module. (#913)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index f72d0a6..622369d 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -11,6 +11,7 @@
 Backward-incompatible changes:
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
+- Remove deprecated ``OpenSSL.tsafe`` module.
 - Drop support for Python 3.4
 - Drop support for OpenSSL 1.0.1
 
diff --git a/src/OpenSSL/tsafe.py b/src/OpenSSL/tsafe.py
deleted file mode 100644
index f1c6f67..0000000
--- a/src/OpenSSL/tsafe.py
+++ /dev/null
@@ -1,31 +0,0 @@
-import warnings
-from threading import RLock as _RLock
-
-from OpenSSL import SSL as _ssl
-
-
-warnings.warn(
-    "OpenSSL.tsafe is deprecated and will be removed",
-    DeprecationWarning, stacklevel=3
-)
-
-
-class Connection:
-    def __init__(self, *args):
-        self._ssl_conn = _ssl.Connection(*args)
-        self._lock = _RLock()
-
-    for f in ('get_context', 'pending', 'send', 'write', 'recv', 'read',
-              'renegotiate', 'bind', 'listen', 'connect', 'accept',
-              'setblocking', 'fileno', 'shutdown', 'close', 'get_cipher_list',
-              'getpeername', 'getsockname', 'getsockopt', 'setsockopt',
-              'makefile', 'get_app_data', 'set_app_data', 'state_string',
-              'sock_shutdown', 'get_peer_certificate', 'get_peer_cert_chain',
-              'want_read', 'want_write', 'set_connect_state',
-              'set_accept_state', 'connect_ex', 'sendall'):
-        exec("""def %s(self, *args):
-            self._lock.acquire()
-            try:
-                return self._ssl_conn.%s(*args)
-            finally:
-                self._lock.release()\n""" % (f, f))
diff --git a/tests/test_tsafe.py b/tests/test_tsafe.py
deleted file mode 100644
index 8ffe35a..0000000
--- a/tests/test_tsafe.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) Jean-Paul Calderone
-# See LICENSE for details.
-
-"""
-Unit tests for `OpenSSL.tsafe`.
-"""
-
-from OpenSSL.SSL import TLSv1_METHOD, Context
-from OpenSSL.tsafe import Connection
-
-
-class TestConnection(object):
-    """
-    Tests for `OpenSSL.tsafe.Connection`.
-    """
-    def test_instantiation(self):
-        """
-        `OpenSSL.tsafe.Connection` can be instantiated.
-        """
-        # The following line should not throw an error.  This isn't an ideal
-        # test.  It would be great to refactor the other Connection tests so
-        # they could automatically be applied to this class too.
-        Connection(Context(TLSv1_METHOD), None)