Add Interleave iterator

@sfackler was interested in having this adapter, so I hacked it together.
I'm not sure. A private function would probably be fine. Or, since this is in a large file with other types, perhaps a private self-less method instead (I am recommending against a regular method because a regular method shouldn't take arguments that could contradict with the fields of the type, but you don't want to be re-calling `size_hint()` on the nested iterators repeatedly if you can help it).