pool: rate limit number of open connections.

This PR should should help in following situation:
- Redis is used as cache
- Redis is down or locked by some operation
- Redis client tries to open new connection for each command. Soon it will use all available connections on the server. This will cause degradation of other network services, e.g. net/http will not be able to accept new connection.