RFC: Remove #[crate_id]

Part of me says yes, but part of me says that attributes are metadata and shouldn't care about keywords. At this point I'm leaning towards the latter, since there's no reason why keywords will ever be special in attributes.

If we do decide that this is an issue, we could work around it with two steps:

1. Change `type` to `kind`. That's not a keyword, so it should be ok.
2. Turn `crate` into Rust's first contextual keyword. We've talked about having contextual keywords in the past (e.g. with `in`, and when `crate` was first introduced), but there hasn't been a compelling reason to add the first one. But `crate` is only significant when it immediately follows the keyword `extern`, and is an error to use anywhere else, so it's a good candidate to be a contextual keyword.