Add support for single row mode

This adds support for single row mode in Postgres 9.2+. It will only enable support if the user uses the event system rather than a callback.

Since there are no interface changes, I am not sure how to update the tests to verify single row mode is actually enabled. I tested it by running a program that repeatedly reads a decent sized table and used ```pmap``` to inspect the program's memory usage. And sure enough instead of using 150+ MB, the program only used 20-30 MB when single row mode was enabled.

Please review the code. In particular, I don't think I handled JS->C boolean values correctly.