RFC: Remove #[crate_id]

You're using the `crate` attribute to specify name, type, and metadata, but you're putting the metadata into the same namespace as the `name` and `type` keys. If `-C` adds extra metadata values, that's equivalent to adding those metadata values to the `#![crate]` attribute in the source. But either we have to explicitly state that "`name` and `type` are not valid names for metadata attributes", or `-C` can actually specify metadata that you cannot represent with `#![crate]`.

By using `#![crate(name = ..., type = ..., metadata(version = ...))]`, that removes this ambiguity. Now it's clear that `-C` cannot influence the crate name or type, and it also allows `name` and `type` to be reused as metadata keys.