syntax: Make quasiquoter use absolute paths

As part of removing `pub use` glob, two extra import globs were
injected to make `quote_expr!` work. However the globs caused
`unused_import` warning in some places.

Quasiquoter needed the globs since it generated idents (e.g. `TyU`)
rather than absolute paths (`::syntax::ast::TyU`).
This patch removes the extra globs and makes quasiquoter use absolute
paths.

Fixes #14618
Fix typo "gihub" in libsyntax/crateid.

Update licensing header for 2014.
librustc: Try to resolve before coercions.
auto merge of #14626 : klutzy/rust/issue-14618, r=alexcrichton

As part of removing `pub use` glob, two extra import globs were
injected to make `quote_expr!` work. However the globs caused
`unused_import` warning in some places.

Quasiquoter needed the globs since it generated idents (e.g. `TyU`)
rather than absolute paths (`::syntax::ast::TyU`).
This patch removes the extra globs and makes quasiquoter use absolute
paths.

Fixes #14618

cc @sfackler
auto merge of #14627 : Indiv0/rust/fix-crateid-doc-typo, r=alexcrichton

Example URL in CrateId documentation is:

    `gihub.com/mozilla/rust`

Instead of:

    `github.com/mozilla/rust`

Also update libsyntax/crateid.rs licensing header for 2014.
librustc: remove check::FnKind enum since we only ever use one variant.
auto merge of #14632 : luqmana/rust/cu, r=huonw

The distinction doesn't make sense any more since we don't have do blocks anymore.
auto merge of #14628 : luqmana/rust/fcr, r=nikomatsakis

#14589.