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
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.
rt: Increase C_STACK_SIZE to 2MB to get JIT/rusti working again (dlopen segfaults)
Switch Module.children from oldmap
librustc: Fix path-qualified and cross-crate constants in match patterns.
Test for cross-crate const in match pattern.
Switch Module.import_resolutions from oldmap
auto merge of #5465 : sanxiyn/rust/remove-oldmap, r=sanxiyn

Improves resolve by 20% as measured by time-passes on rustc.
Move the function to time passes to util
Time type checking passes separately
test: XFAIL test issue-4120 due to Valgrind complaints.
removed str::slice_DBG_UNIQ
Switch CoherenceInfo from oldmap
back-renamed slice_DBG_BRWD, slice_V_DBG_BRWD -> slice, slice_DBG_UNIQ -> slice_unique
Switch impls_seen from oldmap
auto merge of #5470 : sanxiyn/rust/remove-oldmap-2, r=sanxiyn

Referencing #4986.
auto merge of #5466 : Kimundi/rust/view-slice-rename, r=bstrie

A slice now always refers to something that returns an borrowed pointer, views don't exist anymore. If you want to have an explictit copy of a slice, use `to_owned()`
libcore: Remove a few possibly-cyclic imports in an effort to unbreak the tree on Linux
auto merge of #5464 : luqmana/rust/const-pat, r=pcwalton

r? @pcwalton
librustc: Forbid access to cross-crate private static methods