rustc: Move code for discovering the crate entry point into its own pass

It doesn't have anything to do with resolve and the logic will likely get
more involved in the future, after #4433
rustc: Only accept main functions at the crate level. #4433
Allow non-literal static range pattern for match arms

Fix unintended error problem of:

static s: int = 1;
static e: int = 42;

fn main() {
    match 7 {
        s..e => (),
         ^~                 error: expected `=>` but found `..`
        _ => (),
    }
}
add #[non_owned] and #[mutable] attributes
mark Cell as non-Const with #[mutable]
factor out the has_attr checks
compile-fail tests for #[non_owned] and #[mutable]
core: Remove a call to `breakpoint` from a test

These breakpoints make it difficult to debug coretest
Improve lifetimes on foldl/foldr and lift the Copy requirement
libsyntax: extend generic deriving code to handle almost all possible traits.

This adds support for static methods, and arguments of most types, traits with
type parameters, methods with type parameters (and lifetimes for both), as well
as making the code more robust to support deriving on types with lifetimes (i.e.
'self).
libsyntax: convert #[deriving(IterBytes)] to generic deriving
libsyntax: add #[deriving(Rand, ToStr)].

The former fills each field of a struct or enum variant with a random
value (and picks a random enum variant). The latter makes the .to_str
method have the same output as fmt!("%?", ..).
testsuite: tests for deriving changes and additions
Step one for 'proper' pub condition: support pub keyword in form.
std: Workaround bustage on incoming. #6122
add task-local reference counted smart pointers

To provide a reference counted pointer type with deterministic
destruction once managed boxes are switched over to a garbage
collector. Unlike managed boxes, these can be moved instead of just
copied/cloned which is helpful for avoiding reference counts.
Add a test for issue 5517
Enable test for #3707
remove borrowck workarounds from the containers
minor automatic whitespace fixes