* replace generic-pool with Tarn
* fix bug where mariadb client didn't propagate connection errors to pool
* destroy connection if a query times out (and cancellation is not enabled)
Before this change, when a query timeout happened without { cancel: true }
the connection was immediately released back to the pool. If the query
timed out because of a time consuming query, the released connection would
still execute the query to its end and the connection would be useless until
that time. This commit marks the connection as disposed so that the pool never
again gives that connection to anyone, and destorys it in the near future.
* fix a weird database version dependent casing bug in a tests
* fix an unstable test that failed randomly because the query order was not guaranteed
Only left alone ones in `test/tape/transactions.js` which would just
cause unnecessary conflicts and get cleaned up by separate pull
request #1257 anyway.