Cleaned up case related functions a bit
Made unsafely safe functions unsafe again, for safety
Added Ascii type
Added case functions to Ascii
Corrected history
Implement a lint mode to deal with unused 'mut' variables
core: remove unused 'mut' variables
std: remove unused 'mut' variables
syntax: remove unused 'mut' variables
rustc: remove unused 'mut' variables
Fix LLVM bug affecting i1 switches emitted for nullable enum match.
Convert to C string inside WriteOutputFile
Choose target features
Consider nullability for equivalence of monomorphized fns.
Use nullable pointers to represent enums like Option<~T>.

See comments in adt.rs for details.
Add some tests for nullable-pointer enums
libcore: Add `is_absolute()` to paths. Closes #5851.
auto merge of #6001 : jld/rust/enum-nullable, r=pcwalton

Specifically: all enums with two variants, where one has zero size (and thus at most one inhabitant) and the other has a field where the null value would not be allowed (such as a safe pointer), are now represented by storing a null pointer in the field in question.

This is a generalization of representing `Option<~T>`, `Option<@T>`, and `Option<&T>` with nullable pointers, thus fixing Tony Hoare's “billion dollar mistake”.
librustc: Remove `use mod` from the language
Moved ascii out of str
Removed deriving Ord, which allowed to remove the stage markers