Join join

Two fixes:

First, TJ found an error with double joins.
Second, Python's streaming join operation wasn't handling repeats.

cc @talumbau