`withPgClient` does create transaction sometimes
Having `withPgClient` and `withPgClientTransaction` makes people expect that `withPgClient` won't create a transaction. That's not the case; it will create a transaction _if_ pgSettings is non-empty and the given Postgres adaptor requires a transaction in that situation (which the default `pg` adaptor does). We should make this clearer (and also ensure people are using the helpers to manage transactions/subtransactions rather than issuing `begin`/`commit` manually.
