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
save: new flag -r to rewrite import paths

One drawback of godep's previous default behavior is
that repos using it cease to be 'go gettable'. This is a
big problem because it impacts a lot of people: not just
the repo's developers, but also its users.

Flag -r solves this by rewriting import paths to refer
directly to the copied source code at its new location.
So a package C that depends on package D will actually
import C/Godeps/_workspace/src/D. This makes C's repo
self-contained and causes 'go get' to build C with the
right version of all dependencies.

fixes #68