extra: Remove dbg module and rt support code

This stuff is ancient, unused, and tied to oldsched
Resolve globals having different addresses across crates

* All globals marked as `pub` won't have the `internal` linkage type set
* All global references across crates are forced to use the address of the
  global in the other crate via an external reference.
syntax: implement cfg!() which evaluates to true/false where #[cfg] would keep/remove.

Example:

   if cfg!(test) {
      calculation_to_run_only_when_testing();
   }
Add a boatload of Linux x86/x86-64/arm errnos
auto merge of #8185 : alexcrichton/rust/issue-8179, r=pcwalton

* All globals marked as `pub` won't have the `internal` linkage type set
* All global references across crates are forced to use the address of the
  global in the other crate via an external reference.

r? @graydon

Closes #8179
replace `range` with an external iterator
auto merge of #8216 : thestinger/rust/range, r=huonw
auto merge of #8175 : brson/rust/nodbg, r=graydon

This stuff is ancient, unused, and tied to oldsched
auto merge of #8188 : huonw/rust/cfg-macro, r=pcwalton

Example:

    if cfg!(test) {
       calculation_to_run_only_when_testing();
    }

Closes #8130.
auto merge of #8193 : cmr/rust/linux-errno, r=graydon
librustc: Introduce a new visitor type based on traits and port syntax to it.

This is preparation for removing `@fn`.

This does *not* use default methods yet, because I don't know
whether they work. If they do, a forthcoming PR will use them.

This also changes the precedence of `as`.