Rebased against master after the SPI cursor patch has been committed.
The first patch removes SPI boilerplate from the cursor functions as
well and the second patch creates a plpython_cursor.c file.
A side effect of creating a separate file for cursors is that I had to
make PLy_spi_transaction_{begin,commit,abort} helper functions external
since they're used both by regular SPI execution functions and the
cursor functions.
They live the plpython_spi.c which is not an ideal place for them, but
IMHO it's not bad either.
Cheers,
Jan