Implement client pools

Client pools handle selecting a client from a list of
multiple clients based on a selection policy.

Signed-off-by: Peter Foldes <peter.foldes@turn.com>
It's one kind of client selection option, assuming that we want to distribute load somewhat evenly without having any additional information on the clients. What makes you uneasy?