More Postgres binary encoding tests and fixes

The recently added test, which seemed to indicate that we were doing okay, wasn't really testing binary transfer. The connection was in that mode, but it's more complicated when it *uses* that encoding. Adjust the test to actually binary encode outputs by preparing on first use and using twice.

Run the types.sql test as well as types_a, so test columns (other than integer) as well as parameters. This uncovers problems with date times, because TIMESTAMP and DATETIME both turn into pg timestamp and YEAR and SHORT both turn into int2.

That also needs a special .expected file because of the .0 problem with java.sql.Timestamp that is worked around in YAML with !re.

Fix parallel problems with binary parameters uncovered by a manual test with pg8000.

Switch to claiming that we have integer datetime encoding by including this in the initial dialog and using those BinaryEncoding values for the PG types.