Cluster ring discovery

This is a follow up to #211.
After. fillPool locks where it needs to as it usually runs in a separate goroutine.