remove convoluted use of itertools

This usage of itertools doesn't realy add anything of value and it kind
of makes things more complex.  Instead, rely on your HostIterator object
to correctly return an iterator and stop when it runs out of hosts
remove unnecessary HostIterator classes

Unreferenced outside of their own file and not providing any real value
add set_hosts to client

Allow client callers to change the set of hosts used by the client
Merge pull request #129 from mgius/client_set_hosts

Client set hosts