Make find_iter take an iterable.

Hey.

So `find_iter` was relying on its thing being a sequence.

I haven't taken a close look at the rest of the code in the area here but I see that it could still use some refactoring -- I think IMHO you might want to consider taking an iterable as the canonical expected type, and then implement everything else on top of that (some of these seem unnecessary to me like `from_dict` but either way, `from_dict` would just be `return cls.from_iter(data.iteritems())` or if you chose to just make `__init__` expect an iterable...)

Either way, there's a lot of copying going on as a result of not passing around iterables, which might be a problem for people with large datasets.