libsyntax: Add `parse_view_item` method to Parser
libsyntax: Add tests for `parse_view_item`
auto merge of #19044 : murarth/rust/libsyntax-view-item, r=alexcrichton

Allows parsing view items (`use` and `extern crate`) individually. Does not change behavior of any existing functions.

Closes #19024
rustc: avoid `use`-ing `syntax::ast::*`.
rustc: middle: rename `ty::t` to `Ty` and use it unqualified everywhere.
rustc: middle: ty: replace unsafe pointers with references in Ty.
rustc: fix fallout of adding the `'tcx` lifetime to `Ty`.
rustc: fix fallout of making `Ty` an alias for `&TyS` instead of a wrapper.
rustc: middle: avoid clones in ty_fn_{sig,args}.
rustc: middle: remove obsolete ty::get.
rustc: middle: simplify primitive type declaration in ty.
rustdoc: fix fallout of ty::t -> Ty<'tcx>.