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>
So, what is happening in practice once the `Client` is selected? Is the user supposed to build a new service stub upon every selection?