(#3136) - fix changes() when earlier winning seq

In the previous version of the changes() algorithm,
we were assuming that the winning seq was later than
all non-winning seqs, which isn't necessarily the case
when you've got conflicts. This fixes that.
optimization - if we've already emitted the doc id, we can skip before re-fetching the metadata