Add Interleave iterator

@sfackler was interested in having this adapter, so I hacked it together.
Not sure if it's actually documented somewhere (I hope it is!) but it's a logical consequence of the fact that the upper bound is an upper bound.