merge_iter: don't compare generators with < via heapq
Previously we were implicitly comparing (entry, reader_generator) with
"<" in the merge_iter heapq. In python 2, the generators would just
compare as pointers, which was fine, because we only cared about the
ordering of the initial entries.
However, in Python 3 comparing generators provokes a TypeError, so
create a trivial helper class that can carry the two items, but only
compare the entries via the < operator.
Signed-off-by: Rob Browning <rlb@defaultvalue.org>