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