Refactor trans_call to separate out the translation of the arguments, environment, and return pointer
auto merge of #5445 : nikomatsakis/rust/issue-3678-refactor-trans_call, r=graydon

Refactor trans_call to separate out the translation of the arguments, environment, and return pointer.  Towards #3678.  r? @brson
testsuite: Add test for #4210
auto merge of #5453 : catamorphism/rust/issue-4120, r=catamorphism
add assert_eq! macro

the assert_eq! macro compares its arguments and fails if they're not
equal. It's more informative than fail_unless!, because it explicitly
writes the given and expected arguments on failure.
change some uses of fail_unless to assert_eq
field renaming
commenting parser
change to parsing using tts

also, updates test cases a bit
Added SyntaxContexts & MTWT support, path->Path, idents mananged

Also, added test cases
starting to change idents to paths
splitting reader from ttreader, getting rid of dup
changing parser to use paths instead of idents
passes many test cases (but started restructuring mod)
renaming and re-org of mod.rs