Avoid unnecessarily ignoring asynchronous messages

Commit 7454a9817b0f148ab5b1 looks to have fixed all callers of recv1
except this one.
Improve robustness of Begin, Rollback and Commit

Commits 46e935d341c15691dfb2614375 and 44ea1b5c0bf9099acec9e6c5f1
made the transactions handling functionality more robust, but we
can do a bit better than that by also checking the ReadyForQuery
state after these commands.

They also made it possible for the functions to panic, which is not
a good idea (see #178).  Guard against that with errRecover.