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
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
auto merge of #6241 : thestinger/rust/rc, r=pcwalton

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.

Needs #5601 to be fixed in order for safety to be provided without the current ugly workaround of making the pointers contain `Option<@()>` and `Option<@mut ()>` (which are just set to `None`).

@brson: r?
renamed tests
Add pop() and swap() to the Map trait
auto merge of #6236 : alexcrichton/rust/more-map-methods, r=thestinger

Closes #5392 and #5393

I implemented the pop/swap methods for TrieMap/TreeMap/SmallIntMap, and I also updated all of them such that pop isn't just a remove/insert, but rather it's all done in one operation.

One thing I did notice is that with default methods it'd be really nice to define `insert` and `remove` in terms of `pop` and `swap` (or vice versa, just to have them available).
mk: rt.mk regression patch for mingw32 after #6176
mk: target.mk host.mk fix for duplicated rules of mingw32 after #6235