Reducing AR::ConPool's critical (synchronized) section

This is an alternative (much lighter in scope) PR to #14926, only the smallest possible amount of code is changed.

The objective is to:
 * move connection verification outside of `synchronized` section -> 6b3c4f6
 * move connection establishment outside of the `synchronized` section -> c6654b1

This should allow for more concurrency. Related: #14891, #14919.