Add PG::Connection#socket_io to return a memoized IO for the underlying socket.

This keeps the IO in scope until the Connection is garbage-collected, preventing
Ruby from auto-closing the connection to PostgreSQL.