Linearized queries in same connection

Queries must wait for previous ones.

`programmers.foreach(_.destroy())` raises a following error sometimes.

```
com.github.mauricio.async.db.exceptions.ConnectionStillRunningQueryException: [2] - There is a query still being run here - race -> false
	at com.github.mauricio.async.db.postgresql.PostgreSQLConnection.notReadyForQueryError(PostgreSQLConnection.scala:266)
	at com.github.mauricio.async.db.postgresql.PostgreSQLConnection.validateIfItIsReadyForQuery(PostgreSQLConnection.scala:274)
	at com.github.mauricio.async.db.postgresql.PostgreSQLConnection.validateQuery(PostgreSQLConnection.scala:277)
	at com.github.mauricio.async.db.postgresql.PostgreSQLConnection.sendQuery(PostgreSQLConnection.scala:99)
	at scalikejdbc.async.internal.AsyncConnectionCommonImpl$class.sendQuery(AsyncConnectionCommonImpl.scala:34)
	at scalikejdbc.async.internal.NonSharedAsyncConnectionImpl.sendQuery(NonSharedAsyncConnectionImpl.scala:14)
	at scalikejdbc.async.TxAsyncDBSession.rollback(AsyncDBSession.scala:333)
	at scalikejdbc.async.AsyncDB$$anonfun$localTx$2$$anonfun$apply$3$$anonfun$apply$2.applyOrElse(AsyncDB.scala:60)
	at scalikejdbc.async.AsyncDB$$anonfun$localTx$2$$anonfun$apply$3$$anonfun$apply$2.applyOrElse(AsyncDB.scala:58)
	at scala.concurrent.Future$$anonfun$andThen$1.apply(Future.scala:431)
	at scala.concurrent.Future$$anonfun$andThen$1.apply(Future.scala:430)
	at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
	at scala.concurrent.impl.ExecutionContextImpl$$anon$3.exec(ExecutionContextImpl.scala:107)
	at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
	at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253)
	at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346)
	at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
```