Resolve symlinks when publishing from Git repos.
Resolve symlinks when publishing from Git repos.

"git ls-files" doesn't natively resolve symlinks, so this adds some
logic to do so manually. This brings the behavior of uploading from a
Git repo in line with non-Git uploading.

We still don't have a multipart parser in Dart, so we unfortunately have
to way of writing automated tests that the tarballs are created as
expected. I did verify this behavior locally, though.

Closes #1400

R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1862833002 .

dart-lang/pub,dart-lang/pub