rustc: remove DefArg and DefBinding in favor of DefLocal.
rustc: remove BindingMode from DefLocal.
rustc: add a closure depth to DefUpvar.
rustc: move type definitions from middle::freevars to middle::ty.
rustc: move freevar finding to resolve.
rustc: remove Gc<Def> and depth from DefUpvar.
auto merge of #17259 : eddyb/rust/def-no-gc, r=nikomatsakis