change derive_elliptic_curve_public_point to return EllipticCurvePubl… (#3243)

* change derive_elliptic_curve_public_point to return EllipticCurvePublicKey

* also rename the backend interface method

* review feedback

* Rename to derive_elliptic_curve_private_key
* Returns EllipticCurvePrivateKey
* Reuses the EC_POINT in the openssl impl
* Rename "secret" arg to "private_value" which is consistent with our
  naming for the value in ECPrivateNumbers.
diff --git a/docs/hazmat/backends/interfaces.rst b/docs/hazmat/backends/interfaces.rst
index 942a359..42e07d3 100644
--- a/docs/hazmat/backends/interfaces.rst
+++ b/docs/hazmat/backends/interfaces.rst
@@ -422,14 +422,15 @@
         :returns: An instance of
             :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`.
 
-    .. method:: derive_elliptic_curve_public_point(private_value, curve)
+    .. method:: derive_elliptic_curve_private_key(private_value, curve)
 
         :param private_value: A secret scalar value.
 
         :param curve: An instance of
             :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurve`.
 
-        :returns: A tuple (x, y).
+        :returns: An instance of
+            :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`.
 
 .. class:: PEMSerializationBackend