fingerprint: Recover from fs::stat errors

Fingerprinting will fail at an fs::stat() call if there is a broken
symlink in a package's directory.  This commit recovers from fs::stat()
errors on broken symlinks by treating them as having mtime 0, which
should not affect the overall fingerprint.

Fix #135
Ignore the broken symlinks test on windows
auto merge of #139 : tomjakubowski/cargo/fix-symlink-blowup, r=alexcrichton

Fingerprinting will fail at an `fs::stat()` call if there is a symlink in
a package's directory pointing to a non-existent file or directory.
This commit recovers from an `fs::stat(`) error on these bogus symlinks by
faking an mtime of 0, which should not affect the overall fingerprint.

Fix #135
Warn about missing [[lib]] and [[bin]] sections

Closes #120
This updates Cargo for #[crate_name]
auto merge of #125 : alexcrichton/cargo/issue-120, r=wycats

Closes #120
Remove glob dependency
auto merge of #142 : rust-lang/cargo/new-names, r=alexcrichton

This PR moves Cargo over to the new naming based on [RFC 35](https://github.com/rust-lang/rfcs/blob/master/complete/0035-remove-crate-id.md).

* You should no longer use `#[crate_name]` or `#[crate_id]` in any crate managed by Cargo.
* You no longer need a `[[lib]]` section in your `Cargo.toml` if you name your library `src/lib.rs`.
* You no longer need a `[[bin]]` section in your `Cargo.toml` if you name your library `src/main.rs`.
* You can include multiple `[[bins]]` in `src/bin/*.rs` and Cargo will treat them as if they were specified via `[[bin]]`.

This commit does not yet add support for `-C metadata` or `-C extra-file-name`, but that is coming soon.
cargo clean. resolves #51
Ensure no more binaries are checked in

Closes #58
auto merge of #124 : alexcrichton/cargo/no-more-binaries, r=wycats

Closes #58
auto merge of #141 : jdeseno/cargo/cargo-clean, r=alexcrichton

Adds cargo-clean sub-command. Would address Issue #51 if this PR is merged.
Ignore lib directory for exes check

Apparently older versions of git report all contents of submodules in the
ls-files command!
auto merge of #147 : alexcrichton/cargo/ls-files, r=wycats

Apparently older versions of git report all contents of submodules in the
ls-files command!