core: Remove structural records in library tests
cargo: remove structural records
fuzzer: Remove structural records
rustc: Add legacy_records field to the type context
rustc: In lint, forbid structural records unless legacy_records is on
Add #[legacy_records] crate attribute

In rustc, rustdoc, rusti, syntax, and std.
core: Allow legacy records in in a few modules

Because of macros, #[allow(structural_records]] in
extfmt, gc, os, pipes, and run. Will need a snapshot.
compiletest: Allow legacy records

But also remove most uses of structural records.
testsuite: Add #[allow(structural_records)] to pipes tests

These will require a snapshot.