Fix build break by upgrading git2-rs

Update git2-rs to the latest version which includes a fix for `extern crate`
syntax changes.  This version changes the interface for credential callbacks,
so update the git source provider code as well.
Fix obsolete `extern crate` syntax in some of the tests
Don't print `Running` for commands that aren't run

Also print the commands only right before they're actually run.

Closes #215
Update snapshots.txt
auto merge of #554 : bkoropoff/cargo/update-git2, r=alexcrichton

This is pretty simple.  Do the existing unit tests sufficiently cover the git2-related changes?
Always rebuild dist dir in "make dist" or install
auto merge of #559 : mbrubeck/cargo/make-install-fix, r=alexcrichton

This fixes an issue where `make dist` incorrectly does nothing after the source has changed and been rebuilt.  It also prevents `make install` from installing outdated files from the `dist` directory.
Allows bootstrapping win64 from win32 snapshot.
Remove triple = 'i686-pc-mingw32' once win64 snapshot is made.

Signed-off-by: Peter Atashian <retep998@gmail.com>
Merge commit '314d47749a79d0382eea1b710456b038a1ac84c0' into win64
Switch the URL from which nightlies are downloaded
auto merge of #562 : alexcrichton/cargo/win64, r=alexcrichton
Update "Contributing to the Docs"
auto merge of #555 : alexcrichton/cargo/issue-215, r=brson

Also print the commands only right before they're actually run.

Closes #215
Center main content in Safari
auto merge of #567 : EduardoBautista/cargo/fix-centering-on-safari, r=alexcrichton

The website is not centered in Safari.
Fix `make dist` and distcheck breakage

Fixes a regression from #559.
auto merge of #568 : mbrubeck/cargo/dist-fix, r=alexcrichton

Fixes a regression from #559.
Update all dependencies

This fixes some breaking changes with git2-rs, fixes a bug in tarball generation
from tar-rs, and fixes warnings with flate2-rs
auto merge of #564 : EduardoBautista/cargo/contributing-to-docs, r=alexcrichton

The docs are now in the main cargo repository.
Don't clone remote repos, use fetch instead

When cloning a remote repository, the default behavior of libgit2 is to only
update the local ref that's actually checked out, when we actually would prefer
to update all refs of the remote repo. This removes a call to clone() to a
init_bare() + fetch() which should update all refs accordingly

Closes #565