012720ffb0
Improve `AdtDef` interning. This commit makes `AdtDef` use `Interned`. Much of the commit is tedious changes to introduce getter functions. The interesting changes are in `compiler/rustc_middle/src/ty/adt.rs`. r? `@fee1-dead`
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.