Fix timeout calculation when skipping unusable connections from pool

The timeout calculation cumulatively subtracts the elapsed time since the beginning of getConnection(), resulting in timeout expiring faster than expected if several connection candidates from the ``connectionBag`` are not usable. Fixed by this pull request.