slightly more readable test error log
fix spurious error message saving sibling packages

When carrying forward existing versions, we would scan
through the whole list looking for exact matches - which
need to reuse the version from the old list - and child
or sibling packages - which can't carry over the old
version and require both old and new entries to match.
Since we can't handle mixing versions between packages
from a single repo, a mismatch there is reported as an
error.

However, it's possible for both cases to occur
simultaneously, an exact match as well as a sibling
relationship, if the user is importing both D/A and D/B
(but not D). This would cause a newer version present in
the filesystem to be reported as an error when the
existing version could be safely carried forward. We now
prioritize the exact match and break out of the check
early when we find such a match.

fixes #85