Allow get_transaction_status on closed connections

It's a local operation and the libpq functions has a NULL guard.
Close a connection if PQexec returned NULL

This happens for Socket connections, not for TCP ones, where a result
containing an error is returned and correctly handled by pq_raise()

Closes ticket #196 but not #192: poll() still doesn't change the
connection closed.
Don't set an exception witout GIL closing lobjects with a bad conn

We ended up in this branch only for an excessively aggressive closing
of the transaction that now I'm going to fix.
Fixed attempt of closing an already closed lobject on dealloc

This results in a "null without exception set" in the corrent state, which
is caused by the connection being unexpectedly closed anyway.
Check the connection is really bad on exception before closing it

We end up here without a pgres sometimes (e.g. from lobject errors)
Close the connection if discovered bad on poll()
Don't specify 0 or 1 in closed docs

There's also 2 which means broken. But I prefer to leave that as
implementation detail.
Merge branch 'connection-closed' into maint_2_5

NEWS for released 2.5.3 reordered.