Add initial support for LISTEN/NOTIFY.

Using db.Query("LISTEN relname"), returning an infinite Rows object. This is not optimal as a Rows.Next() call cannot be interrupted, but should fit the API well.

* It's somewhat ugly and shoe-horned, but seems to work.
* I strived for minimum impact on the normal code path.
* Only db.Query() or db.Prepare() will cause the new path to be taken. db.Exec() and Tx-specific code is unaffected. db.Exec() doesn't make sense as we need a return value, and we don't care about transactions.