Add Interleave iterator

@sfackler was interested in having this adapter, so I hacked it together.
I'm tempted to leave this as part of the general "assert that everything still works" pattern that seems to be around the file. I agree that it's wasteful, but it's wasteful to have the asserts *at all*. I'd rather be consistent and either have both or neither. Disagree?

We should also update Zip to match, if we do anything.