With pg8000-1.9.13 passes engine/test_reconnect

The pg8000 dialect checks the text of the exception to determine if the
connection is closed. I'd (recklessly!) changed the text of the
exception in a recent version of the pg8000 driver adding capitalization
and a full stop. I've changed it back now so all works.
PEP8 tidy of test/engine/test_reconnect
Remove spurious print statements in pg8000 dialect
two_phase_recover, COMMIT PREPARED in transaction

In test/engine/test_transaction/test_two_phase_recover(), a COMMIT
PREPARED is issued while in a transaction. This causes an error, and
a prepared transaction is left hanging around which causes
the subsequent test to hang. I've altered the test to execute the
offending query with autocommit=true, then when it gets to the COMMIT
PRPARED it can go ahead.

There's another complication for pg8000 because its tpc_recover() method
started a transaction if one wasn't already in progress. I've decided
that this is incorrect behaviour and so from pg8000-1.9.13 this method
never starts or stops a transaction.
pg8000 now supports sane_multi_rowcount

From pg8000-1.9.14 sane_multi_rowcount is supported so this commit
updates the dialect accordingly.
- max failures 25
- guard against some potential pytest snarkiness
- need list() here for py3k
- support dialects w/o sane multi row count again
Merge remote-tracking branch 'origin/pr/125' into pr125
- changelog for pullreq github:125
- add pg8000 version detection for the "sane multi rowcount" feature
- rework profiling, zoomark tests into single tests so that
they can be used under xdist