Fix ConnectionPool.query function to behave exactly like Connection.query

The second argument of Connection.query could be either a function
(callback) or a list of values. The ConnectionPool.query should not
assume that the third argument to be the callback function
Alter the pool_error test slightly

Testing connection failures in a pool is unique enough that it doesn't make
sense to write helpers for it