add missing typecheck for const pattern match arm

Issue #4968
Added rust convenience tool similar to go's go tool
Fixed a typo in the documentation that points to the wrong macro (ident_to_str -> stringify)
rustc: Less copy in trans, rs=removing copies
Attempt to solve make check test ambiguity betwen crate 'rust' and extratected doc 'rust'
core: Fix BSD breakage, I hope
auto merge of #5010 : youknowone/rust/match_const_typecheck, r=catamorphism

Fix of issue #4968
Missing newline causing title to not be a title
auto merge of #5015 : mitsuhiko/rust/doc-fix-stringify, r=catamorphism

Fixed a typo in the documentation that points to the wrong macro.
auto merge of #5017 : catamorphism/rust/less-copy, r=catamorphism
auto merge of #5028 : catamorphism/rust/bsd-breakage, r=catamorphism
auto merge of #5029 : mcpherrinm/rust/master, r=catamorphism

Added a newline to make header be a header.

(re-did pull request because I screwed up the last one)
auto merge of #5014 : Kimundi/rust/incoming, r=graydon

This implements a rust tool similar to go's go tool. It acts as a central hub for the tools rustc, rustdoc, rustpkg, rusti, and also provides shortcuts for directly compiling and running a source file either as a normal or a test executable. Default usage message:

```
The rust tool is a convenience for managing rust source code.
It acts as a shortcut for programs of the rust tool chain.

Usage:	rust <command> [arguments]

The commands are:

    build   compile rust source files
    run     build a executable, and run it
    test    build a test executable, and run it
    doc     generate documentation from doc comments
    pkg     download, build, install rust packages
    sketch  run a rust interpreter
    help    show detailed usage of a command

Use "rust help <command>" for more information about a command.
```
rt: fix memory-unsafe random seed logic, r=valgrindclean
rt: remove export of symbol removed in last commit, r=burningtree
std: update rand-using tests, r=burningtree
test: fix seeded_rng uses
libsyntax: convert interner into a modern struct
Change functions from taking ~str to taking &str
syntax: fix the indentation of a function