incref the X509Req when returning an X509Name from get_subject which refers to it; this prevents a segfault if the X509Name outlives the X509Req; update docs to reflect this and to reflect previous similar changes which were apparently made to X509.get_subject and X509.get_issuer
diff --git a/doc/html/openssl-connection.html b/doc/html/openssl-connection.html
index e8592b8..c0ff1cf 100644
--- a/doc/html/openssl-connection.html
+++ b/doc/html/openssl-connection.html
@@ -46,9 +46,10 @@
 <BR>
 3.3.2 Connection objects 
 </H3>
+
 <P>
-<EM><EM><EM>Connection objects have the following methods:
-</EM></EM></EM>
+Connection objects have the following methods:
+
 <P>
 <dl><dt><b><a name='l2h-138'><tt class='method'>accept</tt></a></b>()
 <dd>
@@ -58,17 +59,20 @@
 is the new Connection object created, and <var>address</var> is as returned by the
 socket's <tt class="method">accept</tt>.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-139'><tt class='method'>bind</tt></a></b>(<var>address</var>)
 <dd>
 Call the <tt class="method">bind</tt> method of the underlying socket.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-140'><tt class='method'>close</tt></a></b>()
 <dd>
 Call the <tt class="method">close</tt> method of the underlying socket. Note: If you want
 correct SSL closure, you need to call the <tt class="method">shutdown</tt> method first.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-141'><tt class='method'>connect</tt></a></b>(<var>address</var>)
 <dd>
@@ -76,6 +80,7 @@
 socket, using the Context object supplied to this Connection object at
 creation.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-142'><tt class='method'>connect_ex</tt></a></b>(<var>address</var>)
 <dd>
@@ -84,6 +89,7 @@
 creation. Note that if the <tt class="method">connect_ex</tt> method of the socket doesn't
 return 0, SSL won't be initialized.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-143'><tt class='method'>do_handshake</tt></a></b>()
 <dd>
@@ -91,21 +97,25 @@
 <tt class="method">set_accept_state</tt> or <tt class="method">set_accept_state</tt>). This can raise the
 same exceptions as <tt class="method">send</tt> and <tt class="method">recv</tt>.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-144'><tt class='method'>fileno</tt></a></b>()
 <dd>
 Retrieve the file descriptor number for the underlying socket.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-145'><tt class='method'>listen</tt></a></b>(<var>backlog</var>)
 <dd>
 Call the <tt class="method">listen</tt> method of the underlying socket.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-146'><tt class='method'>get_app_data</tt></a></b>()
 <dd>
 Retrieve application data as set by <tt class="method">set_app_data</tt>.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-147'><tt class='method'>get_cipher_list</tt></a></b>()
 <dd>
@@ -113,37 +123,44 @@
 has changed. It used to take an optional parameter and just return a string,
 but not it returns the entire list in one go.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-148'><tt class='method'>get_context</tt></a></b>()
 <dd>
 Retrieve the Context object associated with this Connection.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-149'><tt class='method'>get_peer_certificate</tt></a></b>()
 <dd>
 Retrieve the other side's certificate (if any)
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-150'><tt class='method'>getpeername</tt></a></b>()
 <dd>
 Call the <tt class="method">getpeername</tt> method of the underlying socket.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-151'><tt class='method'>getsockname</tt></a></b>()
 <dd>
 Call the <tt class="method">getsockname</tt> method of the underlying socket.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-152'><tt class='method'>getsockopt</tt></a></b>(<var>level, optname</var><big>[</big><var>, buflen</var><big>]</big>)
 <dd>
 Call the <tt class="method">getsockopt</tt> method of the underlying socket.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-153'><tt class='method'>pending</tt></a></b>()
 <dd>
 Retrieve the number of bytes that can be safely read from the SSL buffer
 (<i>not</i> the underlying transport buffer).
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-154'><tt class='method'>recv</tt></a></b>(<var>bufsize</var>)
 <dd>
@@ -151,17 +168,20 @@
 data received. The maximum amount of data to be received at once, is specified
 by <var>bufsize</var>.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-155'><tt class='method'>renegotiate</tt></a></b>()
 <dd>
 Renegotiate the SSL session. Call this if you wish to change cipher suites or
 anything like that.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-156'><tt class='method'>send</tt></a></b>(<var>string</var>)
 <dd>
 Send the <var>string</var> data to the Connection.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-157'><tt class='method'>sendall</tt></a></b>(<var>string</var>)
 <dd>
@@ -169,34 +189,40 @@
 repeatedly until all data is sent. If an error occurs, it's impossible to tell
 how much data has been sent.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-158'><tt class='method'>set_accept_state</tt></a></b>()
 <dd>
 Set the connection to work in server mode. The handshake will be handled
 automatically by read/write.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-159'><tt class='method'>set_app_data</tt></a></b>(<var>data</var>)
 <dd>
 Associate <var>data</var> with this Connection object. <var>data</var> can be retrieved
 later using the <tt class="method">get_app_data</tt> method.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-160'><tt class='method'>set_connect_state</tt></a></b>()
 <dd>
 Set the connection to work in client mode. The handshake will be handled
 automatically by read/write.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-161'><tt class='method'>setblocking</tt></a></b>(<var>flag</var>)
 <dd>
 Call the <tt class="method">setblocking</tt> method of the underlying socket.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-162'><tt class='method'>setsockopt</tt></a></b>(<var>level, optname, value</var>)
 <dd>
 Call the <tt class="method">setsockopt</tt> method of the underlying socket.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-163'><tt class='method'>shutdown</tt></a></b>()
 <dd>
@@ -205,40 +231,47 @@
 <tt class="method">recv()</tt> or <tt class="method">send()</tt> when the connection becomes
 readable/writeable.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-164'><tt class='method'>get_shutdown</tt></a></b>()
 <dd>
 Get the shutdown state of the Connection.  Returns a bitvector of either or
 both of <var>SENT_SHUTDOWN</var> and <var>RECEIVED_SHUTDOWN</var>.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-165'><tt class='method'>set_shutdown</tt></a></b>(<var>state</var>)
 <dd>
 Set the shutdown state of the Connection.  <var>state</var> is a bitvector of
 either or both of <var>SENT_SHUTDOWN</var> and <var>RECEIVED_SHUTDOWN</var>.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-166'><tt class='method'>sock_shutdown</tt></a></b>(<var>how</var>)
 <dd>
 Call the <tt class="method">shutdown</tt> method of the underlying socket.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-167'><tt class='method'>state_string</tt></a></b>()
 <dd>
 Retrieve a verbose string detailing the state of the Connection.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-168'><tt class='method'>want_read</tt></a></b>()
 <dd>
 Checks if more data has to be read from the transport layer to complete an
 operation.
 </dl>
+
 <P>
 <dl><dt><b><a name='l2h-169'><tt class='method'>want_write</tt></a></b>()
 <dd>
 Checks if there is data to write to the transport layer to complete an
 operation.
 </dl>
+
 <P>
 
 <DIV CLASS="navigation">