Change trampoline() args to accept a single evtype

THe signature of trampoline() has been changed from `read=False, write=False` to
`evtype`. This is a much more logical way of calling this function, which only
accepts a single type of I/O event.
Rework psycopg2 support

Tests are not yet written, but psycopg2 support *should* now be working.