core: add char_at_reverse
core: add char_len method
core: add str::each{,i}_reverse
librustc: Remove debug code and add scary warnings for rusti/rustpkg
auto merge of #5450 : pcwalton/rust/warnings, r=graydon

r? @graydon
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
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.
testsuite: Add test for #4210
core: add Reader, Writer, ReaderUtil, WriterUtil to prelude. Close #4182.
add stage3 markers where necessary for dist-snap
libsyntax: Never use `::<>` in the type grammar
librustc: Fix bug preventing `-framework Foo` from working cross-crate.
auto merge of #5453 : catamorphism/rust/issue-4120, r=catamorphism
etc: Suppress Linux valgrind issues for new scheduler
auto merge of #5447 : erickt/rust/incoming, r=graydon

This normalizes the how we call reverse iteration functions. It also adds a char_len method, and a method to iterate backwards over a string.
change some uses of fail_unless to assert_eq
auto merge of #5455 : pcwalton/rust/framework, r=catamorphism

r? @catamorphism
renamed str::view -> slice_DBG_BRWD
renamed str::slice -> slice_DBG_UNIQ
changed vec slice method -> to_owned()
renamed vec view method  -> slice_V_DBG_BRWD
auto merge of #5456 : graydon/rust/fixups, r=pcwalton

Stage markers for stage3 and a trivial prelude fix.
Make typechecker compositional

The typechecker previously passed around a boolean return flag to
indicate whether it saw something with type _|_ (that is, something
it knows at compile-time will definitely diverge) and also had some
manual checks for the `ty_err` pseudo-type that represents a previous
type error. This was because the typing rules implemented by the
typechecker didn't properly propagate _|_ and ty_err. I fixed it.

This also required changing expected error messages in a few tests,
as now we're printing out fewer derived errors -- in fact, at this
point we should print out no derived errors, so report any that
you see (ones that include "[type error]") as bugs.