more work on container traits

This expands the container module from just `Set` to the following:

`Container` -> `Mutable` -> {`Map`, `Set`}

The `Map` trait is implemented by `TreeMap` and `LinearMap` to replace to never implemented `SendMap` trait. It's incomplete at the moment (missing `find` for now - need to break `LinearMap`'s API and update users of it) and `TreeMap` will need to be extended to support `pop`, `get` and `consume` to get rid of the `LinearMap` anonymous implementation. I think I'll drop the current `find` and `get` on `LinearMap` because they don't offer anything over doing the copy in the caller.

Currently causes a segfault in stage1... not sure what to do about that (core.rc and std.rc compile okay with rustc from incoming).