Test batches of mixed statement types and their results

The tests for batches didn't cover series of DML statements well.
Merge pull request #203 from ringerc/test-statement-batch

Test batches of mixed statement types and their results

The existing tests didn't cover Statement batches with multiple different DML statements very well. This improves coverage.
Ignore prepared xacts in other DBs during XA tests

The XA tests used to try to ROLLBACK PREPARED across all DBs and all
users. This could be quite bad if someone was silly enough to run unit
tests as a superuser against a DB that's also hosting something real.
It was also just an irritation if unrelated tests and tools from other
systems used prepared transactions in other DBs.

Ignore prepared transactions from DBs other than the current one.

While we're at it, if there are prepared xacts in the current DB owned by users
other than ourselves then fail the test early as the results can't be fully
under our control
Escape schema name when setting search_path
Add tests for schema name containing special characters