Fixed bad error return code from cursor's init
Name can be passed as None to cursor()

Makes invocation from subclasses and generic code easier.

Code simplified by using default values for keyword arguments
and avoiding needless conversions back and forth between Python and C
strings. Also added connection type check to cursor's init.
Allow user to override connection factory cursors

Prior to this change, using a extras.connection_factory would not allow
any other cursor to be used on that connection. It was set in stone.

This change allows all cursor options to pass through and override the
connection factory behaviors. This allows a connection_factory to be
dropped into existing code with no disruption.

This change also standardizes the extras.connection_factories to have
the same behavior and all pass through *args and **kwargs.
Fixed cursor() arguments propagation to other connection classes
Added tests to verify cursor() arguments propagation
Added news entry about cursor() cleanup
Bump to next dev release
Merge branch 'cursor-args-fix' into MAINT_2_4
Fixed text docs build on Python 3

Thanks to Arfrever for the patch (ticket #107).
Fixed superclass methods call.

Methods execute() and callproc() in DictCursor and RealDictCursor should
call DictCursorBase methods, not _cursor's ones.

Reported by Alexey Luchko on the ML.
Dropped GIL release around function calling PyMem_Malloc

Closes ticket #110.
Fixed cursor name as unicode string on Python 3
Added %% use to the docs
Fixed typo in docs

Ticket #115 closed.
Fixed incorrect and outdated connection.commit() doc
Fixed register_hstore and register_composite with non-dbapi objects

Closed ticket #114.
Fixed tpc_recover() with RealDictStuff

Same problem and correction of ticket #114.
Fixed always true comparaison
Fixed tests to run with PG 8.3
Fixed smell of pizza in the docs