Pool improvements

- Add TestOnBorrow health check.
- Make pool code threqa-safe with respect o application changing
  exported pool fields.
- Prevent goroutine from getting stuck fetching a connection from the
  pool while other goroutines are returning connections to the pool.