Remove API deprecated in 1.6, clean up the legacy deprecations (#3468)

* Remove API deprecated in 1.6, clean up the legacy deprecations

* flake8, unused import
diff --git a/src/cryptography/hazmat/backends/__init__.py b/src/cryptography/hazmat/backends/__init__.py
index b191cbe..ff8e8f0 100644
--- a/src/cryptography/hazmat/backends/__init__.py
+++ b/src/cryptography/hazmat/backends/__init__.py
@@ -20,7 +20,7 @@
         import pkg_resources
 
         entry_point_backends = [
-            # DeprecatedIn16
+            # PersistentlyDeprecated
             # setuptools 11.3 deprecated support for the require parameter to
             # load(), and introduced the new resolve() method instead.
             # We previously removed this fallback, but users are having issues
diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py
index 1f63d85..5b3304f 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -61,7 +61,7 @@
     def serial(self):
         warnings.warn(
             "Certificate serial is deprecated, use serial_number instead.",
-            utils.DeprecatedIn14,
+            utils.PersistentlyDeprecated,
             stacklevel=2
         )
         return self.serial_number
diff --git a/src/cryptography/hazmat/primitives/asymmetric/utils.py b/src/cryptography/hazmat/primitives/asymmetric/utils.py
index 4c2337b..ef1e7eb 100644
--- a/src/cryptography/hazmat/primitives/asymmetric/utils.py
+++ b/src/cryptography/hazmat/primitives/asymmetric/utils.py
@@ -18,7 +18,7 @@
     warnings.warn(
         "decode_rfc6979_signature is deprecated and will "
         "be removed in a future version, use decode_dss_signature instead.",
-        utils.DeprecatedIn10,
+        utils.PersistentlyDeprecated,
         stacklevel=2
     )
     return decode_dss_signature(signature)
@@ -33,7 +33,7 @@
     warnings.warn(
         "encode_rfc6979_signature is deprecated and will "
         "be removed in a future version, use encode_dss_signature instead.",
-        utils.DeprecatedIn10,
+        utils.PersistentlyDeprecated,
         stacklevel=2
     )
     return encode_dss_signature(r, s)
diff --git a/src/cryptography/utils.py b/src/cryptography/utils.py
index 8183bda..ab3c84e 100644
--- a/src/cryptography/utils.py
+++ b/src/cryptography/utils.py
@@ -13,12 +13,10 @@
 from packaging.version import parse
 
 
-# the functions deprecated in 1.0 and 1.4 are on an arbitrarily extended
-# deprecation cycle and should not be removed until we agree on when that cycle
-# ends.
-DeprecatedIn10 = DeprecationWarning
-DeprecatedIn14 = DeprecationWarning
-DeprecatedIn16 = DeprecationWarning
+# Several APIs were deprecated with no specific end-of-life date because of the
+# ubiquity of their use. They should not be removed until we agree on when that
+# cycle ends.
+PersistentlyDeprecated = DeprecationWarning
 
 
 def read_only_property(name):
diff --git a/src/cryptography/x509/extensions.py b/src/cryptography/x509/extensions.py
index 1a3ced7..ba19b3a 100644
--- a/src/cryptography/x509/extensions.py
+++ b/src/cryptography/x509/extensions.py
@@ -8,7 +8,6 @@
 import datetime
 import hashlib
 import ipaddress
-import warnings
 from enum import Enum
 
 from asn1crypto.keys import PublicKeyInfo
@@ -20,7 +19,7 @@
 from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurvePublicKey
 from cryptography.hazmat.primitives.asymmetric.rsa import RSAPublicKey
 from cryptography.x509.general_name import GeneralName, IPAddress, OtherName
-from cryptography.x509.name import Name, RelativeDistinguishedName
+from cryptography.x509.name import RelativeDistinguishedName
 from cryptography.x509.oid import (
     CRLEntryExtensionOID, ExtensionOID, ObjectIdentifier
 )
@@ -421,16 +420,7 @@
                 )
 
         if relative_name:
-            if isinstance(relative_name, Name):
-                warnings.warn(
-                    "relative_name=<Name> is deprecated and will "
-                    "be removed in a future version; use "
-                    "<RelativeDistinguishedName> instead.",
-                    utils.DeprecatedIn16,
-                    stacklevel=2
-                )
-                relative_name = RelativeDistinguishedName(relative_name)
-            elif not isinstance(relative_name, RelativeDistinguishedName):
+            if not isinstance(relative_name, RelativeDistinguishedName):
                 raise TypeError(
                     "relative_name must be a RelativeDistinguishedName"
                 )
diff --git a/tests/test_x509.py b/tests/test_x509.py
index db26f56..de19d0d 100644
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -521,7 +521,7 @@
         )
 
         with warnings.catch_warnings():
-            warnings.simplefilter("always", utils.DeprecatedIn10)
+            warnings.simplefilter("always", utils.PersistentlyDeprecated)
             assert cert.serial == 2
             assert cert.serial_number == 2
 
@@ -533,7 +533,7 @@
         )
 
         with warnings.catch_warnings():
-            warnings.simplefilter("always", utils.DeprecatedIn10)
+            warnings.simplefilter("always", utils.PersistentlyDeprecated)
             with pytest.deprecated_call():
                 cert.serial
 
diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py
index 7104121..8210b05 100644
--- a/tests/test_x509_ext.py
+++ b/tests/test_x509_ext.py
@@ -3003,17 +3003,6 @@
         with pytest.raises(ValueError):
             x509.DistributionPoint("data", "notname", None, None)
 
-    def test_relative_name_name_value_deprecated(self):
-        with pytest.deprecated_call():
-            x509.DistributionPoint(
-                None,
-                x509.Name([
-                    x509.NameAttribute(NameOID.COMMON_NAME, u"myCN")
-                ]),
-                None,
-                None
-            )
-
     def test_crl_issuer_not_general_names(self):
         with pytest.raises(TypeError):
             x509.DistributionPoint(None, None, None, ["notgn"])