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.
syntax: Allow 1-tuple expressions

This is for greater uniformity (for example, macros that generate
tuples). rustc already supported 1-tuple patterns, but there was no
way to construct a 1-tuple term.
rustc: For one-tuples, make parsing and printing the type work

and add a test to reflect-visit-data
move shootout-mandelbrot to LinearMap, add depth argument
update copyright dates
fix ICE after incorrect number of args in calls
test: fix seeded_rng uses
auto merge of #5002 : catamorphism/rust/one-tuples, r=graydon

r? @graydon - This is for greater uniformity (for example, macros that generate
tuples). rustc already supported 1-tuple patterns, but there was no
way to construct a 1-tuple term.

@graydon , as far as your comment on #4898 - it did turn out to be solvable inside the macro (since @luqmana already fixed it using structs instead), but I still think it's a good idea to allow 1-tuples, for uniformity. I don't think anyone is likely to trip over it, and I'm not too worried that it changes the amount of ambiguity.
libsyntax: convert interner into a modern struct
Change functions from taking ~str to taking &str
syntax: fix the indentation of a function
libsyntax: make enum variants take refs
libsyntax: change attr:get_attr_name to take a ref
libsyntax and librustc: minor cleanup
Alias HashMap<~str, SyntaxExtension> to SyntaxExtensions
convert syntax::attr to use @~strs
convert ast::meta_items to take @~strs
convert SyntaxExtensions's key to a @~str
librustc: convert LangItemsCollector::item_refs to take @~str as a key
librustc: convert lint_dict to take @~strs as keys