Tests shouldn't read from stdin.

As far as I can tell, the only reason run-pass/type-use-i1-versus-i8
is trying to do a read is because that code was left over from the
original program the issue was found in.  When that test is run as
part of check-fast, and apparently only in that case, the test blocks
indefinitely, which is bad.
move shootout-mandelbrot to LinearMap, add depth argument
update copyright dates
Mention rust tool in the tutorial
Check type when struct is matched against enum-like pattern

Previously check always succeeded because struct type was derived from
the matched expression, not the matched pattern.
Give the rust tool an own section in the tutorial.
Rewrited section about rust tool
auto merge of #5000 : jld/rust/test-stdin-thing, r=graydon

As far as I can tell, the only reason run-pass/type-use-i1-versus-i8
is trying to do a read is because that code was left over from the
original program the issue was found in.  When that test is run as
part of check-fast, and apparently only in that case, the test blocks
indefinitely, which is bad.
Fix for issue 4875
auto merge of #5006 : tedhorst/rust/linear_mand, r=brson
use range assert when loading enum discriminant

Closes #4924
auto merge of #5040 : Kimundi/rust/incoming, r=graydon
add range assert when loading bools
auto merge of #5039 : alexcrichton/rust/issue-4875, r=catamorphism

It looks like the type for the whole pattern wasn't being written back, so when privacy tried to look it up everything died.
replace explicit loops with foldr
auto merge of #5044 : thestinger/rust/range, r=pcwalton

Closes #4924

There are some more `Load` calls that could use this, so it's not completely done yet.
vim improvements

1. Highlight new lifetime syntax
2. Visually distinguish `unsafe` keyword
3. Add a new file that highlights column 78, to warn when lines get too long
Created libcore/private/intrinsics.rs, which aims to contain every
rustc intrinsic. Several files in libcore have been changed to use
these intrinsics.
As of yet, none of the intrinsics are documented.
Changed a test to use intrinsics.rs and changed a few lines that were too long, had bad whitespace, etc.
etc: Suppress the enum variant instruction scheduling Valgrind issues. rs=#rust