Go ahead and implement double-checked locking, this is a low traffic method.
Forget about accounting sanity checks when the pool is going down (who cares?).  Prevent connections from being added when the pool is suspended.  Remove eviction from from abortActiveConnections() as it is already done in softEvictConnections().  "break" in abort method should have been continue.
Update changes log.
Merge remote-tracking branch 'upstream/dev' into dev