Actually xfail this, unbreak build
Add xfailed test for #3707
clean up condition module:
* use Drop trait in Guard
* fix formatting
* remove bare function in Condition.raise_default
* use moved types instead of borrowed pointers in Condition.{raise,trap}
* import common functions
Fix two minor issues in the tutorial.

Remove an extraneous 'then', and replace 'second' with 'first'.
Add option::get_zero

r=brson

Closes #3797
core: fix windows breakage, r=burningtree.
Make either::{partition, flip, to_result} take their arguments by-value

Addresses an XXX

r=pcwalton
Rename option::get_default => get_or_default, get_zero => get_or_zero
Merge remote-tracking branch 'superoptimizer/master' into HEAD

Conflicts:
	doc/tutorial.md
Add Mark Lacey to AUTHORS
librustc: Stop generating first-class aggregates in visit glue, since they kick us off fast isel. Closes #4352. rs=minor-perf-improvement
Trivial cleanup: use enum_is_univariant; no functional change intended.
Make consts of degenerate nullary enums not ICE.

This makes the const construction code match the logic in type_of.
Add a test for nullary univariant enums.
rt: Stop zeroing out all allocations. Unobservable perf win. Closes #2682. rs=negligible-perf-win
librustc: Fix unconditional ty_to_str call in ty.rs. Was heaviest path in allocation. Negligible perf win. rs=perf-fix
librustc: Remove some string allocations. rs=perf
librustc: Convert some large structural records over to structs. rs=perf

No effect on compile-time performance.
librustc: Refactor language items to have IDs. rs=refactor

Preparation for fixing the performance problems with language item collection.
librustc: Encode language items into a special lookup table. 9% improvement in hello world compile time.