don't exit when work to do, even when at the end of the list.
fix potential derpy-ness with sorting

don't bother rounding, just return the sign, don't be inconsistant when
simpleID's are the same, bail early when duplicates are present.
Merge pull request #613 from AartBluestoke/dev

fix #661, #598