Fixed explicit connection.cursor(cursor_factory=None)

Fixes issue #210.
set_session() params documented in a more Python-friendly way
Copy operations correctly set the cursor.rowcount attribute

Fixes ticket #180.
Skip rowcount on copy test on postgres < 8.2

It looks like the server doesn't send the message.
Parse the rowcount as long
Python 3.4 declared supported
Added select.select timeout on AsyncTests.wait

On Windows, the select.select() hangs/waits forever on the
test_async_connection_error_message() test.  Adding a 10 second timeout
allows the tests to continue.
Skip test_cleanup_on_badconn_close on Windows

The Windows server version of PostgreSQL uses a function called pgkill in the
file kill.c in place of the UNIX kill function.  This pgkill function
simulates some of the SIGHUP like commands by passing signals through a named
pipe.  Because it is passing the signal through a pipe, the server doesn't get
the kill signal immediately and therefore fails the test on
test_connection.ConnectionTests.test_cleanup_on_badconn_close.
Ideally, the test should check to see if the server is running on Windows, not
the psycopg.
cleanup remaining GPL license text
cleanup remaining GPL license text
Added test with objects without length as callproc param
Don't ignore silently the `cursor.callproc` argument without a length
Fixed segfault if COPY statements are executed

Close ticket #219
Parse the error codes from the text file if available

The text file was added in PG 9.1. It contains a few errors not available
in the SGML.
Add a few missing errcodes

They are used in the code but not defined in the SGML docs so the script
failed to parse them.
Parse errocodes for PG 9.3 too

There is no new errcode defined so no need to release this as a change,
only change the docs.
Fix supported Py/PG versions in docs
Added wishful test suite for jsonb type
Added name param to register_json()
Add register_default_jsonb() and register the type