Fix set_cipher_list on modern OpenSSL

Also port forward a few changes from #422.
diff --git a/doc/api/ssl.rst b/doc/api/ssl.rst
index ad4fd05..e3fe8c9 100644
--- a/doc/api/ssl.rst
+++ b/doc/api/ssl.rst
@@ -333,11 +333,7 @@
     later using the :py:meth:`get_app_data` method.
 
 
-.. py:method:: Context.set_cipher_list(ciphers)
-
-    Set the list of ciphers to be used in this context. See the OpenSSL manual for
-    more information (e.g. :manpage:`ciphers(1)`)
-
+.. automethod:: Context.set_cipher_list
 
 .. py:method:: Context.set_info_callback(callback)
 
@@ -592,11 +588,7 @@
     Retrieve application data as set by :py:meth:`set_app_data`.
 
 
-.. py:method:: Connection.get_cipher_list()
-
-    Retrieve the list of ciphers used by the Connection object. WARNING: This API
-    has changed. It used to take an optional parameter and just return a string,
-    but now it returns the entire list in one go.
+.. automethod:: Connection.get_cipher_list
 
 
 .. py:method:: Connection.get_protocol_version()
@@ -610,7 +602,7 @@
 
     Retrieve the version of the SSL or TLS protocol used by the Connection as
     a unicode string. For example, it will return ``TLSv1`` for connections
-    made over TLS version 1, or ``Unknown`` for connections that were not 
+    made over TLS version 1, or ``Unknown`` for connections that were not
     successfully established.