Properly static lib packaging

Fixes #18574
Prepend should be append in the 30 minute intro

The examples are about adding to the end of the array, not the
beginning.
Make TyTrait embed a `TraitRef`, so that when we extend TraitRef, it naturally carries over to object types.

I wanted to embed an `Rc<TraitRef>`, but I was foiled by the current
static rules, which prohibit non-Sync values from being stored in
static locations. This means that the constants for `ty_int` and so
forth cannot be initialized.
Update parser with `for` syntax
Update tests where we don't report errors twice anymore
Purge the old `once_fns`, which are not coming back
Fix tidy error
Rename deprecated EnumSet methods in unit tests.
Add BitXor to EnumSet.
syntax: Use UFCS in the expansion of `#[deriving(PartialOrd)]`
Add tests for BitAnd and BitXor.
Update Partial/Total Eq/Ord terminology
Reword &str coercion into viewing
Fix handling of for loop patterns in regionck

When establishing region links within a pattern, use the mem-cat
of the type the pattern matches against (that is, the result
of `iter.next()`) rather than that of the iterator type.

Closes #17068
Closes #18767
Add regression for #17068
Add regression for #18767
mk: Fix Windows cross-build prefix
As of 4.9.2, gcc started passing -fno-lto to collect2, or to ld if collect2 cannot be found.  The latter is the case for our bundles, because we don't include collect2.  Unfortunately, ld does not understand this option and errors out.
On the bright side, -fno-use-linker-plugin still works to suppress gcc's LTO, so we can drop -fno-lto.
Move gcc back to rustlib\<triple>\bin
Prefer bundled linker.