librustc: Remove the ability for `extern crate` to specify crate IDs.

Issue #14468.

After a snapshot, it will be possible to remove the `extern crate foo =
STRING` syntax in favor of the new `extern crate foo = IDENT`.

This will break crates that have names that are not valid Rust
identifiers (in particular, those that contain hyphens). Change such
crates to have names that correspond to valid Rust identifiers. (Most
commonly, this will involve changing hyphens to underscores.)

[breaking-change]

r? @brson

This may require an RFC to be merged first, but I wanted to go ahead and get the work done.