отложенное закрытие соединений из sync Pool

Это нужно для случаев, когда пул уже решил убрать connection из состава, но connection в этот момент находится у пользователя в _used, поэтому закрывать его сразу нельзя. Если connection уже помечен на вытеснение, он будет закрыт при возврате в пул.

Ориентир: async #68 (closed)

В рамках задачи нужно:

  • добавить Connection.to_evict: bool = False
  • изменить Pool._release() так, чтобы connection с to_evict=True не возвращался в _pool, а закрывался при release
  • закрывать evicted conn вне lock, чтобы не блокировать остальные операции пула
  • после release уведомлять ожидающие acquire через текущий Condition