Fix bug in list_file_walk when cwd != path

Previously this was calling .is_file() on a relative path.  This would fail if
the path was not relative to the current working directory, for example when
fingerprinting a path dependency.
Test for build command fingerprints in path deps

This tests the fix for list_files_walk from #561.
Fix tests on Mac builders

Comparing URIs in /tmp was failing because of symlinks.
Fix list_files_git for paths in subdirs of a repo

list_files_git previously assumed that the package was always at the root of
the git repository.  This broke when trying to list files for a package in a
subdirectory of a repo, or in other cases, e.g. if the user's home directory
is a git repo.
Test for build commands in git subdirs
Better fix for tests on the Mac builders
auto merge of #561 : mbrubeck/cargo/list_file_walk, r=alexcrichton

Previously this was calling `.is_file()` on a relative path.  This would fail if the path was not relative to the current working directory, for example when listing files in a path dependency.
auto merge of #563 : mbrubeck/cargo/list-files-git, r=alexcrichton

`list_files_git` assumes that the package is at the root of the git repository. This breaks when trying to list files for a package in a subdirectory of a repo, or in other cases, e.g. if the user's home directory is a git repo.
Try to fix intermittent test failures

Travis is showing intermittent failures in
`test_cargo_compile_path_deps::path_dep_build_cmd` and
`test_cargo_compile_git_deps::git_dep_build_cmd` (added in #561 and #563).

I haven't managed to reproduce these failures locally, but I suspect the tests
are timing-sensitive.  This tries to guarantee that the timestamps during the
two operations can't be the same.
auto merge of #575 : mbrubeck/cargo/sleep, r=alexcrichton

Travis is showing intermittent failures in `test_cargo_compile_path_deps::path_dep_build_cmd` and `test_cargo_compile_git_deps::git_dep_build_cmd` (added in #561 and #563).

I haven't managed to reproduce these failures locally, but I suspect the tests are timing-sensitive.  This tries to fix the failure by sleeping for a second between the two operations.
Update to rust master
auto merge of #576 : alexcrichton/cargo/update, r=alexcrichton
Tweak the install script for windows nightlies
Rewrite git tests to not rely on the CLI

The CLI has started to have differences on windows than on other systems, and
instead of coding against multiple CLI versions, instead just rewrite everything
to use libgit2.