Fix remaining cases where resolver differs from "cargo tree".

Use actual Android target triples to evaluate cfg expressions and add a
test case for a particularly complicated expression from getrandom.

Use CRATES_TO_TEST environment variable to specify which crates to test
the resolver with. (Default is still all crates)

Fix a bug where, in one instance, we were using the name of the
dependency instead of the name of the crate.

Add a workaround for ahash, which has a "specialize" feature added by
the build script but not present in Cargo.toml.

Test: Treehugger, cargo test -p crates_io_util --test resolver_test  -- --nocapture --ignored
Change-Id: Ife903b366ae39af280471b8ea1b0cc3865d062ac
4 files changed