fix iteration over Client

I didn't intend for Client to be iterable,
but defining `__getitem__` makes it iterable
as long as engine IDs are continuous (not always the case).

This explicitly defines `__iter__` so it behaves consistently.
Merge pull request #5522 from minrk/iter-client

fix iteration over Client