Implement #zip for Stream

This operation takes another stream and zips the receiver and the
argument together. This essentially results in a Stream that doesn't
occur until both input streams have and will contain events that are
tuples of corresponding input events.
One day I will remember how to spell prop...a..gate
Merge pull request #9 from seadowg/master

Implement #zip for Stream