Turn `extern crate` and `use` into first-class items.

This implements RFC PR 385. Closes #18219.